用了高精度递推,还是只有40,求教!!!
查看原帖
用了高精度递推,还是只有40,求教!!!
63563
Griezmann_7楼主2023/11/3 09:22
#include<iostream>
using namespace std;
int f[1005][20];
int len = 1;
void jiafa(int num) {//num指阶数
	int jw = 0;
	for (int i = 1; i <= len; i++) {//开始高精度加法
		f[num][i] = f[num - 1][i] + f[num - 2][i]+jw;
		jw = f[num][i]/ 10;
		f[num][i] %= 10;
	}
	if (jw > 0) {//最后一位可能会进位
		len++;
		f[num][len] += jw;
	}
}
int main() {
	int m, n;
	cin >> m >> n;
	f[0][1] = 0; f[1][1] = 1; f[2][1] = 1;
	for (int i = 2; i <= n - m + 1;i++) {
		jiafa(i);
	}
	for (int i = len; i >= 1; i--)cout << f[n - m + 1][i];
	
}
2023/11/3 09:22
加载中...