for the equation Sn=2+4+6+8+10+.......+2n
a. write the recurrence and solve to a non-recursive form
b. write a recursive algorithm (寫出遞回演算法)
a小題我寫到我會的部份
由等式Sn=2+4+6+8+10+.......+2n,可推S1=2,S2=2+4 = S1+4
S3=2+4+6= S2+6 S4=2+4+6+8 = S3+8 ...可知 Sn=Sn-1+2n
Sn=Sn-1+2n
=Sn-2+2(n-1) + 2n
=Sn-3+2(n-2) + 2(n-1)+2n
=Sn-4+2(n-3)+2(n-2) + 2(n-1)+2n
.
.
=Sn-k+2[n-(k-1)] + 2[n-(k-2)]......+2[n-(k-k)]
. 令 n-k=1
. 則 k=n-1 都帶進上式
.
.
可解出 Sn=n(2+2n)/2 = n+n^2 註: n^2 是n的2次方
我知道答案 但 n-k=1 和k=n-1 帶進去我不懂怎麼算出來
或許是我方法錯誤 請高手們幫忙解疑
b小題要寫程式 差不多5、6行而已 別想太多 記得Sn-k會變S1
而S1在一開始就已經寫出是2了
2007-01-08 04:52:04 · 1 個解答 · 發問者 小拖 1 in 教育與參考 ➔ 考試
不太懂其中的意思 能請JJ大解釋一下嗎
Input = n output = 2 4 6 ............ 2n
1. sum (s.n) {
2. if(n==1)
3. return2
4. return sum(n-1) 2n
5. }
2007-01-08 19:40:14 · update #1
b小題不太懂其中的意思 能請JJ大解釋一下嗎
Input = n output = 2 4 6 ............ 2n
1. sum (s.n) {
2. if(n==1)
3. return2
4. return sum(n-1) 2n
5. }
2007-01-08 19:42:36 · update #2
b小題不太懂其中的意思 能請JJ大解釋一下嗎
Input = n output = 2 4 6 ............ 2n
1. sum (s.n) {
2. if(n==1)
3. return2
4. return sum(n-1) 2n
5. }
2007-01-08 19:43:07 · update #3
sorry 我有改了但po出來都一樣的字 output更正 是2 4 6 ..... 2n
2007-01-08 19:44:14 · update #4
sorry 再更正 output更正 為2加4加6 .....加 2n (加的符號沒顯示 怪...)
2007-01-08 19:45:17 · update #5
Sn
= Sn-4+2(n-3)+2(n-2) + 2(n-1)+2n
...
= Sn-k+2[n-(k-1)] + 2[n-(k-2)]......+2[n]
令 n-k=1 則 k=n-1 都代進上式
= S1 + 2[2] + 2[3] + ... + 2[n]
= 2 + 2[2] + 2[3] + ... + 2[n]
又回到原式了
一般它應該是從 Sn=Sn-1+2n 開始的
而解到最後 2 + 2[2] + 2[3] + ... + 2[n]
可由等差級數求和公式得 Sn = n(2+2n)/2
因為不知道你要用什麼語言寫程式
我就用最簡單的 VB 來寫
Function Sn(n as integer) as integer
If (n= 1) then
Sn = 2
Else
Sn = 2*n + Sn(n-1)
Endif
End Function
如果有問題, 請來函討論. 不然, 我可能會錯失你再補充的疑點.
2007-01-08 09:39:44 · answer #1 · answered by JJ 7 · 0⤊ 0⤋