老師出了一道奧數題,錢包里有一張100元,想將100元換成若干張1元、5元、10元的零錢,要求保證每種紙幣至少有一張,且轉換之后的金額也是100元。請問轉換的方法一共有多少種,請全部列出來。
小明仔細地想了一下覺得金額轉換的方法有很多種,如果單純用手寫出來的話太多而且容易遺漏,能不能用Scratch編程來自動羅列出所有組合呢。

截短的判斷條件為:如果“變量1元+5*變量5元+10*變量10元=100”與“變量1元>0”與“變量5元>0”與“變量10元>0”那么執行
首先考慮到將100元轉化為3種不同金額的紙幣,所以先設置3個變量,分別是1元、5元、10元的張數和3個列表(列表用于存放相應張數的解)。設置各變量的初始值都為1,由于轉化過程中,總金額數不能超過100元,所以可以確定最大循環次數,1元的循環次數為100次,5元的次數為20次,10元的次數為10次。
符合題目要求的條件判斷為:“變量1元+5*變量5元+10*變量10元=100”即總金額等于100,且每種紙幣的數目至少一張(即“變量>0”),4個條件需都滿足所以用“與”相連。同時滿足這些條件的解才能將轉換的張數保存在列表中。

根據完成后的列表項目數可知,最終的轉化可能性有81種。
小明將Scratch程序分享給了老師和同學們并且講解了解題思路與過程,大家對他刮目相看。