WA求助!!!
查看原帖
WA求助!!!
1101744
xingshuyan000楼主2024/1/2 22:47

刚才写的这道题的程序,用vector写的,写完以后发现样例都不过(输入4输出个2),问老师,老师也没找到哪里出问题了。求教求教,到底是哪里出问题了?

#include<bits/stdc++.h>
using namespace std;
vector<int> add(vector<int> &A,vector<int> &B)
{
	vector<int> C;
	int carry=0;
	for(int i=0;i<A.size()||i<B.size();i++)
	{
		if(i<A.size())carry+=A[i];
		if(i<B.size())carry+=B[i];
		C.push_back(carry%10);
		carry=carry/10;
	}
	if(carry)C.push_back(carry);
	return C;
}
int main()
{
	int n;
	cin>>n;
	if(n==1||n==2){
		cout<<n;
		return 0;
	}
	vector<int> f1,f2,sum;
	f1.push_back(1);
	f2.push_back(2);
	for(int i=3;i<=n;i++)
	{
		vector<int> C;
		C=add(f1,f2);
		sum.swap(C);
		f1.swap(f2);
		f2.swap(sum);
	}
	for(int i=sum.size()-1;i>=0;i--)
		cout<<sum[i];
	return 0;
}
2024/1/2 22:47
加载中...