社区讨论

用了高精度递推,还是只有40,求教!!!

P2437蜜蜂路线参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lohxkx0s
此快照首次捕获于
2023/11/03 09:22
2 年前
此快照最后确认于
2023/11/03 14:07
2 年前
查看原帖
CPP
#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];
	
}

回复

1 条回复,欢迎继续交流。

正在加载回复...