为什么输出和样例一样但洛谷WA
查看原帖
为什么输出和样例一样但洛谷WA
829502
ZhangP1986楼主2024/8/23 21:22

如标题所示,我代码在本地写好试了试没问题后,就放在洛谷里跑。但是却只AC两个:

我下载了测试点#1看看,再在本地跑,但结果和样例的一样,IDE也试了。

我开始认为是字符串的问题,还写了个字符转数字的函数,但还是不对。 有没有大佬能帮本蒟蒻调一调,附上代码(码风可能有问题,请谅解):

#include<bits/stdc++.h>
using namespace std;
string add(string a,string b)
{
	int x;
	string c;
	for(int i=0;i<max(a.size(),b.size());i++)
	{
		int a1,a2;
		if(i<a.size()) a1=a[a.size()-i-1]-48;
		else a1=0;
		if(i<b.size()) a2=b[b.size()-i-1]-48;
		else a2=0;
		int h=a1+a2+x;
        x=0;
        if(h>9)
        {
        	while(h>9)
			{
			    x++;
				h-=10;	
			} 
		}
		c=char(h+48)+c;
	}
	if(x!=0)
	{
		while(x>0)
		{
			c=char(x+48)+c;
			x/=10;
		}
	}
	return c;
 } 
int main(){
    long long n;
    cin>>n;
    string a="1",b="2",c;
    if(n==1)
    {
        cout<<1;
        return 0;
    }
    if(n==2)
    {
        cout<<2;
        return 0;
    }
    n-=2;
    while(n--)
    {
        c=add(a,b);
        a=b;
        b=c;
    }
    cout<<c;
    
}

(大佬们应该看的懂吧~)

2024/8/23 21:22
加载中...