編寫一個(gè)程序,求1!+2!+…+10!的值。
程序?yàn)?
s=0
i=1
WHILE i<=10
j=1
t=1
WHILE j<=i
t=t*j
j=j+1
WEND
s=s+t
i=i+1
WEND
PRINT s
END
這個(gè)問(wèn)題是求前10個(gè)正整數(shù)的階乘之和,可以用“WHILE+ WHILE”循環(huán)嵌套語(yǔ)句格式來(lái)實(shí)現(xiàn)。
程序結(jié)構(gòu)要做到如下步驟:
①處理“N!”的值;(注:處理N!值的變量就是一個(gè)內(nèi)循環(huán)變量)
②累加“N!”的值。(注:累加N!值的變量就是一個(gè)外循環(huán)變量)
顯然,通過(guò)10次循環(huán)可分別求出1!、2!、…、10!的值,并同時(shí)累加起來(lái), 可求得S的值。而求T=N!,又可以用一個(gè)循環(huán)(內(nèi)循環(huán))來(lái)實(shí)現(xiàn)。
程序?yàn)?
s=0
i=1
WHILE i<=10
j=1
t=1
WHILE j<=i
t=t*j
j=j+1
WEND
s=s+t
i=i+1
WEND
PRINT s
END
程序可改為:
s=0
i=1
j=1
WHILE i<=10
j=j*i
s=s+j
i=i+1
WEND
PRINT s
END
顯然第二個(gè)程序的效率要比第一個(gè)高得多。第一程序要進(jìn)行1+2+…+10=55次循環(huán),而第二程序進(jìn)行10次循環(huán)。如題目中求的是1。2!+…+1000!,則兩個(gè)程序的效率區(qū)別更明顯。點(diǎn)評(píng):解決具體的構(gòu)造循環(huán)語(yǔ)句的算法問(wèn)題,要盡可能的少引入循環(huán)變量,否則較多的變量會(huì)使得設(shè)計(jì)程序比較麻煩,并且較多的變量會(huì)使得計(jì)算機(jī)占用大量的系統(tǒng)資源,致使系統(tǒng)緩慢。另外,也盡可能使得循環(huán)嵌套的層數(shù)少,否則也浪費(fèi)計(jì)算機(jī)的系統(tǒng)資源。
年級(jí) | 高中課程 | 年級(jí) | 初中課程 |
高一 | 高一免費(fèi)課程推薦! | 初一 | 初一免費(fèi)課程推薦! |
高二 | 高二免費(fèi)課程推薦! | 初二 | 初二免費(fèi)課程推薦! |
高三 | 高三免費(fèi)課程推薦! | 初三 | 初三免費(fèi)課程推薦! |
科目:高中數(shù)學(xué) 來(lái)源:2012-2013學(xué)年山東省青島二中高三(上)9月月考數(shù)學(xué)試卷(文科)(解析版) 題型:解答題
查看答案和解析>>
科目:高中數(shù)學(xué) 來(lái)源:2012-2013學(xué)年山東省青島二中高三(上)9月月考數(shù)學(xué)試卷(文科)(解析版) 題型:解答題
查看答案和解析>>
百度致信 - 練習(xí)冊(cè)列表 - 試題列表
湖北省互聯(lián)網(wǎng)違法和不良信息舉報(bào)平臺(tái) | 網(wǎng)上有害信息舉報(bào)專區(qū) | 電信詐騙舉報(bào)專區(qū) | 涉歷史虛無(wú)主義有害信息舉報(bào)專區(qū) | 涉企侵權(quán)舉報(bào)專區(qū)
違法和不良信息舉報(bào)電話:027-86699610 舉報(bào)郵箱:58377363@163.com