为什么我的输出是乱码,不是数字啊?
查看原帖
为什么我的输出是乱码,不是数字啊?
947270
Soul_Seeker楼主2023/5/14 21:56
#include<iostream>
#include<cmath>
using namespace std;
string add(string a, string b) {
	string ans;
	int na[11000] = {0}, nb[11000] = {0}, la = a.size(), lb = b.size();
	for (int i = 0; i < la; i++)na[la - i - 1] = a[i] - '0';
	for (int i = 0; i < lb; i++)nb[lb - i - 1] = b[i] - '0';
	int len = max(la, lb);
	for (int i = 0; i < len; i++) {
		na[i] += nb[i], na[i + 1] += na[i] / 10, na[i] %= 10;
	}
	if (na[len])len++;
	for (int i = len - 1; i >= 0; i--)ans += a[i] + '0';
	return ans;
}
string a[1005] = {"0", "1", "1"};
int m, n;
int main() {
	cin >> m >> n;
	for (int i = 3; i <= n - m + 1; i++)a[i] = add(a[i - 1], a[i - 2]);
	cout << a[n - m + 1];
	return 0;
}
2023/5/14 21:56
加载中...