如何用递归写高精斐波那契?
  • 板块学术版
  • 楼主77Glorious
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/4/10 16:46
  • 上次更新2024/4/10 19:47:57
查看原帖
如何用递归写高精斐波那契?
956316
77Glorious楼主2024/4/10 16:46

自己写的高精递推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[][]值就可以了~~

2024/4/10 16:46
加载中...