下面是求1+2+3+…>2008最大的n的算法語句:
s←0,n←0
While S≤2008n←n+1s←s+n
End While
Print
在下面的選項中選一個填入橫線上( )
A.n
B.n-1
C.n-2
D.n+1
【答案】分析:分析題目中的要求,發(fā)現這是一個累加型的問題,故可能用循環(huán)結構來實現,在編寫算法的過程中要注意,累加的n初始值為0,累加值每一次增加1,退出循環(huán)的條件是累加結果>2008,把握住以上要點不難得到正確的算法和流程圖.
解答:解:假設最大正整數n使1+2+3+…+n>2008成立
此時的n滿足S≤2008,則語句S=S+n,n=n+1繼續(xù)運行,
一旦S>2008,則退出循環(huán),
此時輸出的n即為所求的最大值,屬于圖中橫線上應填入n.
故選A.
點評:可利用循環(huán)語句來實現數值的累加(乘)常分如下步驟:①觀察S的表達式分析,循環(huán)的初值、終值、步長②觀察每次累加的值的通項公式③在循環(huán)前給累加器和循環(huán)變量賦初值,累加器的初值為0,累乘器的初值為1,環(huán)變量的初值同累加(乘)第一項的相關初值④在循環(huán)體中要先計算累加(乘)值,如果累加(乘)值比較簡單可以省略此步,累加(乘),給循環(huán)變量加步長⑤輸出累加(乘)值.