为什么编译错误
  • 板块学术版
  • 楼主biyi_mouse
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/6/28 20:04
  • 上次更新2023/10/27 22:23:58
查看原帖
为什么编译错误
574849
biyi_mouse楼主2022/6/28 20:04
#include <bits/stdc++.h>
using namespace std;

vector<int> add(vector<int>& A, vector<int>& B) {
	vector<int> C;
	int ans = 0;
	for (int i = 0; i < A.size() || i < B.size(); i ++) {
		if (i < A.size()) ans += a[i];
		if (i < B.size()) ans += b[i];
		C.push_back(ans % 10);
		ans /= 10;
	}
	if (ans) C.push_back(ans);
	while (C.back() == 0) C.pop_back();
	return C;
}

vector<int> mul(int A, vector<int> &B) {
	vector<int> C;
	int ans = 0;
	for (int i = 0; i < B.size(); i ++) {
		ans = A * B[i];
		C.push_back(ans % 10);
		ans /= 10;
	}
	if (ans) C.push_back(ans);
	while (C.back() == 0) C.pop_back();
	return C;
}

int main() {
	int n;
	vector<int> A[251];
	A[0].push_back(1);
	A[1].push_back(1);
	A[2].push_back(3);
	for (int i = 3; i <= 250; i ++)
		A[3] = add(A[i - 1], mul(2, A[i - 2]));
	while (cin >> n) {
		reverse(A[n].begin(), A[n].end());
		for (int i = 0; i < A[n].size(); i ++)
			cout << A[i];
		cout << endl;
	}
}
2022/6/28 20:04
加载中...