暴力破解永不累

本篇將學到如何重複檢查是否符合條件,直到找出答案為止,還會學到如何運用字串功能儲存答案並顯示出來

工具:本篇會用到大量「運算」類型的積木

暖身:將100以內5的倍數都列出來

將5的倍數都放清單的程式積木
  1. 從1開始檢查到100,所以變數一開始設為0

  2. 變數每次增加1後,如果能被5整除就加進清單

  3. 重複執行檢查到100

暖身:將100以內5的倍數直接說出來,數字用「,」隔開

將5的倍數說出來並用「,」隔開的程式積木

關鍵在於使用字串組合來累積答案,每次檢查到新的符合條件的答案,就會再加入字串裡面顯示

將5的倍數說出來並用「,」隔開的執行結果

練習:韓信點兵

三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?<孫子算經>

用程式算出最小符合條件的數為多少?

試著挑戰看看把10000以內符合條件的數都列出來

本篇任務怪數問題

有個四位數,有著很奇怪的特性,就是千位數與百位數數字相同,十位數與個位數數字相同,而且它還有個正整數的平方根,請問這個數字是多少?

這題關鍵有兩個, 一個是設定數字相同的條件,一個是如何判斷平方根為正整數,只要能設定好這兩個條件篩選,就能找出答案

判定千位數與百位數相同的方式

用字串功能的方式檢查位值,第2個字(百位數)=第1各字(千位數)

判定平方根為正整數的方式

平方根除以1的餘數=0,能被1整除,代表此數為正整數

例如若數為4.5,除以1會餘0.5

此數開根號後無條件進入還是等於此數的平方根,代表是正整數

例如若數的平方根為2.4,無條件進入後就變3,代表非正整數

解題程式範例

此題的寫法很多種,建議自己想看看還有什麼方法

怪數問題程式積木範例(左)
怪數問題程式積木範例(右)

挑戰看看:鳥數

鳥數是一種怪異的數,它的定義是這樣的,如果將這個數的每一個位數取出來做乘積與加總,當乘積除以加總能夠整除,這個數字就是鳥數。例如123這個數字就是一個標準的鳥數,取出每個位數做乘積(1x2x3=6)除以加總(1+2+3=6)剛好是6除以6,可以整除,所以數字123就是一個鳥數,請寫出一個程式可以列出1000以內的鳥數。

Last updated