(本小題滿(mǎn)分10分)數(shù)學(xué)的美是令人驚異的!如三位數(shù)153,它滿(mǎn)足153=13+53+33,即這個(gè)整數(shù)等于它各位上的數(shù)字的立方的和,我們稱(chēng)這樣的數(shù)為“水仙花數(shù)”.請(qǐng)您設(shè)計(jì)一個(gè)算法,找出大于100,小于1000的所有“水仙花數(shù)”.
(1)用自然語(yǔ)言寫(xiě)出算法;
(2)畫(huà)出流程圖.
解:(1)算法如下:
第一步,i=101.
第二步,如果i不大于999,則執(zhí)行第三步,否則算法結(jié)束.
第三步,若這個(gè)數(shù)i等于它各位上的數(shù)字的立方的和,則輸出這個(gè)數(shù).
第四步,i=i+1,返回第二步.
(2)程序框圖,如右圖所示.
分析:(1)由于需要判斷大于100,小于1 000的整數(shù)是否滿(mǎn)足等于它各位上的數(shù)字的立方的和,所以需要用循環(huán)結(jié)構(gòu),應(yīng)用循環(huán)結(jié)構(gòu),通過(guò)通過(guò)判斷“是否滿(mǎn)足等于它各位上的數(shù)字的立方的和”,輸出“水仙花數(shù)”,寫(xiě)出算法.
(2)依據(jù)(1)中寫(xiě)出的算法,畫(huà)出框圖.
點(diǎn)評(píng):根據(jù)流程圖(或偽代碼)寫(xiě)程序的運(yùn)行結(jié)果或在判斷框填上符合條件的式子,是算法這一模塊常見(jiàn)的題型.其基本處理方法是:①分析流程圖(或偽代碼),從流程圖(或偽代碼)中分析出計(jì)算的類(lèi)型;②建立數(shù)學(xué)模型,根據(jù)第一步分析的結(jié)果,選擇恰當(dāng)?shù)臄?shù)學(xué)模型;③解模.