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