老師出了一道奧數(shù)題,錢(qián)包里有一張100元,想將100元換成若干張1元、5元、10元的零錢(qián),要求保證每種紙幣至少有一張,且轉(zhuǎn)換之后的金額也是100元。請(qǐng)問(wèn)轉(zhuǎn)換的方法一共有多少種,請(qǐng)全部列出來(lái)。
小明仔細(xì)地想了一下覺(jué)得金額轉(zhuǎn)換的方法有很多種,如果單純用手寫(xiě)出來(lái)的話(huà)太多而且容易遺漏,能不能用Scratch編程來(lái)自動(dòng)羅列出所有組合呢。

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

根據(jù)完成后的列表項(xiàng)目數(shù)可知,最終的轉(zhuǎn)化可能性有81種。
小明將Scratch程序分享給了老師和同學(xué)們并且講解了解題思路與過(guò)程,大家對(duì)他刮目相看。