English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類
0

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 B=C
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

3 個解答

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

fedest.com, questions and answers