The following code is working perfect on my Dev C++ interface, but Codechef gives WA.
#include<iostream>
using namespace std;
int fibonacciCheck(int n)
{
int c;
int a=0;
int b=1;
c=a+b;
while(c<n)
{
a=b;
b=c;
c=a+b;
}
if(c==n || n==0)
return 1;
else
return 0;
}
int main()
{
int t;
int a;
cin>>t;
while(t>0){
cin>>a;
if(fibonacciCheck(a))
cout<<"Yes";
else
cout<<"No";
t--;
}
return 0;
}
The input number might contain 1000 digits, and the variable you have chosen is an int, which will overflow. Read the constraints of the problem carefully.
2 Likes
Bro, the number of digits is upto 1000. How can integer accommodate that value.You need to think something else.
1 Like
Hm. I changed int to long long. Now its showing time limit exceeded. I will work on my efficieny. Thanks.
Hm. I changed int to long long. Now its showing time limit exceeded. I will work on my efficieny. Thanks.
it wont work with long long too. 1000 chars is so much more, either you need to create your own adding function for integer array to use your algo. But i think there is a better approach described in the tutorial.
1 Like