close

這次是找出醜陋數的題目
image
題目需求:
若質因數為2、3、5,則此數字為質因數,如果可以被其他數字整除,則不為醜陋數,但是1為醜陋數(回傳true或false)。
解題過程:
1. 先排除小於1的數字,因為負數和0都不為我們所說的醜陋數。
2. 接著因為1為true,所以也把1的判斷獨立寫出來。
2. 分三個區塊確認,用%分別針對2、3、5取餘數,如果不等於0就一定是false。(迴圈條件設定大於2、3、5的數字)
=>由於分三個部分,用迴圈檢查,當可以被3除,但卻不能被2除的數字出來的話,會直接顯示false,
所以這裡只需要確認是否可以被這三個數字整除就好,每一個數字的餘數確認都不用馬上回傳false,
而是用break跳出迴圈進行下一個數字的餘數檢查。
3. 如果第一次可以被整除,不代表一定可以繼續被整除下去,所以進行除2、3、5的動作,直到數字被除到變最小
4. 不管在取餘數階段就被判斷不是醜陋數而被用break強制跳出迴圈的數字,還是被除到最小後結束迴圈的數字,
都會在最後面再透過%檢查一次,結果的true&false會從這個部分判斷並傳出

程式碼內容:

image

完成!!

arrow
arrow

    文科少女寫程式 發表在 痞客邦 留言(0) 人氣()