[VB6 ] 利用遞迴產生數列
這是一個使用遞迴函數的問題
小弟想了三,四天了 但是一直寫不出來或是寫錯
題目是 X(k+1)= X(k)/2 if X(k)=2n
3*X(k)+1 if X(k)=2n+1
條件:1.須利用遞迴函數(副程式)
2.當 X(k)=1 或 k>500 時停止
3.所建立的數據構成一個陣列
初始值X(1)=27 算式中X為一陣列 而k表示第k項
寫了很久 不是寫錯就是跑不出來
請各位幫幫忙好嗎
以下是我的程式碼
sub rec(k)
dim X(1 to 500)
if k=1 then
X(k)=val(inputbox("輸入X(1)"))
elseif X(k)=1 or k>500 then
exit sub
elseif X(k) mod 2 =0 then
X(k+1)=X(k)/2
elseif X(k) mod 2 =1 then
X(k+1)=X(k)*3+1
else
end if
call rec(k+1)
end sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.226.130
※ 編輯: AA64 來自: 61.223.226.130 (08/14 15:50)
→
08/14 17:19, , 1F
08/14 17:19, 1F
→
08/14 17:19, , 2F
08/14 17:19, 2F
→
08/14 17:45, , 3F
08/14 17:45, 3F
推
08/15 04:33, , 4F
08/15 04:33, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):