自己写的高精递推Fibonacci))
#include<bits/stdc++.h>
using namespace std;
int n,f[5010][5010];
int main()
{
cin>>n;
f[1][1]=1;f[2][1]=1;
int len=1;
for(int i=3;i<=n;i++)
{
for(int j=1;j<=len;j++)
{
f[i][j]+=f[i-1][j]+f[i-2][j];
f[i][j+1]+=f[i][j]/10;
f[i][j]%=10;
}
if(f[i][len+1]) len++;
}
for(int i=len;i>=1;i--)
{
cout<<f[n][i];
}
return 0;
}
由于本人递归死烂,经常理解不能,所以无法编写递归,于是到此为止
void fibo(int x)
{
if(x==1 || x==2) f[x][1]=1;
//以下省略不会写了!
}
所以,如何通过void函数递归操作实现改变f[][]的值呢?(如果用其他类型的函数也好!只要能在函数里改变f[][]值就可以了~~