編寫一個程序,求1!+2!+…+10!的值。

程序為:

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


解析:

這個問題是求前10個正整數(shù)的階乘之和,可以用“WHILE+ WHILE”循環(huán)嵌套語句格式來實現(xiàn)。

程序結(jié)構(gòu)要做到如下步驟:

①處理“N!”的值;(注:處理N!值的變量就是一個內(nèi)循環(huán)變量)

②累加“N!”的值。(注:累加N!值的變量就是一個外循環(huán)變量)

顯然,通過10次循環(huán)可分別求出1!、2!、…、10!的值,并同時累加起來, 可求得S的值。而求T=N!,又可以用一個循環(huán)(內(nèi)循環(huán))來實現(xià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

顯然第二個程序的效率要比第一個高得多。第一程序要進(jìn)行1+2+…+10=55次循環(huán),而第二程序進(jìn)行10次循環(huán)。如題目中求的是1。2!+…+1000!,則兩個程序的效率區(qū)別更明顯。點評:解決具體的構(gòu)造循環(huán)語句的算法問題,要盡可能的少引入循環(huán)變量,否則較多的變量會使得設(shè)計程序比較麻煩,并且較多的變量會使得計算機占用大量的系統(tǒng)資源,致使系統(tǒng)緩慢。另外,也盡可能使得循環(huán)嵌套的層數(shù)少,否則也浪費計算機的系統(tǒng)資源。

練習(xí)冊系列答案
相關(guān)習(xí)題

科目:高中數(shù)學(xué) 來源: 題型:

編寫一個程序,求1!+2!+…+10!的值.

查看答案和解析>>

科目:高中數(shù)學(xué) 來源: 題型:

編寫一個程序,求1!+2!+…+10!的值(其中n!=1×2×3×…×n).

查看答案和解析>>

科目:高中數(shù)學(xué) 來源:2012-2013學(xué)年山東省青島二中高三(上)9月月考數(shù)學(xué)試卷(文科)(解析版) 題型:解答題

編寫一個程序,求1!+2!+…+10!的值.

查看答案和解析>>

科目:高中數(shù)學(xué) 來源:2012-2013學(xué)年山東省青島二中高三(上)9月月考數(shù)學(xué)試卷(文科)(解析版) 題型:解答題

編寫一個程序,求1!+2!+…+10!的值.

查看答案和解析>>

同步練習(xí)冊答案