1 2 3 5 8 13 21 ............................到10000以下的值全加起來那是多少
數值是前兩個數值的合 就是像上面3=1+2 5=2+3以此類推
要用VB程式語言來寫出
以現在我自己解出的是
A=0
FOR B=1 TO 10000
C=A
IF B
END
A=A+C
NEXT
我不知道這樣對不對 有請電腦程式高手指教 指教
告知對錯或是能將解答示出
2005-08-06 12:47:26 · 3 個解答 · 發問者 huang ming 1 in 電腦與網際網路 ➔ 程式設計
while不是要用loop這才能構成一個迴圈嗎
你的程式我怎麼沒看到啊!
2005-08-07 12:56:50 · update #1
還有我也看不太懂 上官 先生你的整個程式 能麻煩你解說一下好嗎 抱歉了
2005-08-07 13:00:27 · update #2
我再重新寫一個程式
a=1
b=1
do while true
a=a+b
b=b+a
c=0
do while true
c=c+a+b
if a or b > 10000 then
exit do
loop
loop
我用excel算出來的答案是17709 vb程式我則試過所以不知道上述的程式是不是正確
2005-08-07 20:20:39 · update #3
上述程式中 c應該要改成 c=1而且還要在最後再加上end if
感謝上官 你的補充說明 但再請你指導看看我現在所寫出來的程式 合不合理
2005-08-08 04:14:46 · update #4
Dim n, n1, sum As Long '在一般區宣告三個長整數型態的變數,n用來放數列的第一個數字,n1用來放數列的下一個數字,sum用來加總用的。
Private Sub Form_Activate()
Dim temp As Long '宣告一個長整數型態的暫時變數
While (n1 <= 10000) '當n1<=10000時執行迴圈內容
sum = sum + n1 '把n1的內容加到sum裡,一開始n1是2
temp = n '把n的內容放到temp裡,一開始n是1,所以temp也是1
n = n1 '把n的內容改成n1的內容,n的值改成2
n1 = n1 + temp '把n1的內容改成temp+n,n1的值改成1+2等於3
Wend '以此類推…就可以算出答案了
Print sum
End Sub
Private Sub Form_Load()
n = 1: n1 = 2: sum = 1 '給這三個變數初值
End Sub
註:while有幾種用法:
while
wend
do while
loop
do
loop while
2005-08-08 22:11:26 補充:
a=1
b=1
do while true
a=a+b 'a變成2
b=b+a 'b變成3
c=0
do while true
c=c+a+b '第一次時,c只有2+3,但少加了1。
if a or b > 10000 then '只有在a非零或b>10000時才會跳出這個迴圈,所以你一直在重覆c=0+2+3喔。
exit do
loop
loop
2005-08-06 15:28:24 · answer #1 · answered by 上官 5 · 0⤊ 0⤋
oldnum = 1
num = 2
Print oldnum; ","; num;
While num < 10000
newnum = oldnum + num
oldnum = num
num = newnum
Print ","; num;
Wend
2005-08-08 08:11:45 · answer #2 · answered by 世賢 7 · 0⤊ 0⤋
這是「費式數列」
2005-08-06 21:22:42 · answer #3 · answered by ? 4 · 0⤊ 0⤋