尤拉計劃463題:奇怪的遞迴關係
奇怪的遞迴關係
定義在全體正整數上的函式f如下所示:
f(1)=1
f(3)=3
f(2n)=f(n)
f(4n+1)=2f(2n+1)−f(n)
f(4n+3)=3f(2n+1)−2f(n)
函式S(n)的定義是∑i=1nf(i)。
已知S(8)=22以及S(100)=3604。
求S(337)並給出其最後9位數字。
分析
手工給出f(1)-f(8)
n f(n) -- ------ 1 1 2 =f(1)=1 3 3 4 =f(2)=1 5 =2f(3)-f(1)=5 6 =f(3)=3 7 =3f(3)-2f(1)=7 8 =f(4)=1
測試程式
#include <cstdio> int f[101]= {0}; int fo(int n) { if (f[n]==0) { int m=n%4; switch(m) { case 0: case 2: f[n]=fo(n/2); break; case 1: f[n]=fo(n/2+1)*2-fo(n/4); break; case 3: f[n]=fo(n/2)*3-fo(n/4)*2; break; } } return f[n]; } int main() { f[1]=1; //f[2]=1; f[3]=3; //f[4]=1; int sum=0; for(int i=1; i<=100; i++) sum+=fo(i); printf("%d",sum); }
輸出前幾個3i的值:
1 1 3 5 9 31 27 265 81 2415 243 20129 729 197671 2187 1680033 6561 15679899 19683 143488409 59049 1218975163 177147 11765456001 531441 95374906439 1594323 938756962769 4782969 8333085101983 14348907 73454816646585 43046721 693808156821983
相關文章
- 尤拉計劃700:尤拉幣
- 尤拉計劃622:洗牌
- 尤拉計劃686:2的冪
- 尤拉計劃739:和的和
- 尤拉計劃704:二項式係數中的2因數
- 尤拉計劃698:123數
- 尤拉計劃696:麻將
- 尤拉計劃719:拆分數
- 尤拉計劃699:三腳數
- 尤拉計劃706:三象數
- 尤拉計劃718:不可達數
- 尤拉計劃715:六元組
- 尤拉計劃709:偶數袋
- 尤拉計劃708:你只要2
- 尤拉計劃712:指數差
- 尤拉計劃749:近似冪和
- 尤拉計劃751:串聯重合
- 尤拉計劃745:平方和
- 尤拉計劃717:取模公式之和公式
- 尤拉計劃722:慢收斂系列
- 尤拉計劃695:隨機長方形隨機
- 尤拉計劃694:立方滿因數
- 尤拉計劃725:數位之和數
- 尤拉計劃710:1百萬會員
- 尤拉計劃657:不完整的單詞
- 尤拉計劃714:兩種數位的數
- 尤拉計劃723:畢達哥拉斯四邊形
- 尤拉計劃697:隨機衰減序列隨機
- 尤拉計劃713:圖蘭熱水系統
- 尤拉計劃711:二進位制黑板
- 尤拉計劃747:三角披薩
- 尤拉計劃748:倒丟蕃多方程
- 尤拉計劃658:不完整的單詞(2)
- 尤拉計劃735:2n^2的因數
- 尤拉計劃721:無理數高次冪
- 尤拉計劃701:隨機連線區域隨機
- 尤拉計劃705:除數序列的逆轉次數
- 尤拉計劃621:把整數表示為三角數之和
- python-動態規劃的遞迴、非遞迴實現Python動態規劃遞迴