#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=a;i<=b;i++)
typedef long long LL;
LL f[32][5];
int main()
{
f[1][0]=1;
f[1][1]=1;
rep(i,2,30)
{
f[i][0]=f[i-1][0]+f[i-1][1]+f[i-1][2];
f[i][1]=f[i-1][0];
f[i][2]=f[i-1][1];
f[i][3]=f[i-1][2]+f[i-1][3]*2;
}
int n;
while(cin>>n)
{
cout<<f[n][3]<<endl;
}
}
算法概论-作业3-席景科老师 C 简单的密码
该代码实现了一个动态规划算法来计算斐波那契数列的第n项,通过预计算并存储中间结果提高效率。程序读取输入的n值,并输出对应的斐波那契数列的第n项。

被折叠的 条评论
为什么被折叠?



