Ниже приведен код для SPOJ GCD2. Он работает хорошо на моей машине и Ideone, но получает ошибку времени выполнения (SIGFPE) на SPOJ. Я проверил все тестовые примеры, также доступные на spojtoolkit.com.Почему мой код для SPOJ GCD2 ошибки на SPOJ?
Я не могу понять, почему этот код показывает ошибку времени выполнения (SIGFPE) на spoj. SIGFPE означает ошибочную арифметическую операцию.
Почему этот код показывает ошибку времени выполнения на SPOJ?
#include <bits/stdc++.h>
using namespace std;
int gcd(int x,int a)
{
if(a==0)
return x;
else
return gcd(a, x%a);
}
int getmod(string b,int a)
{
int n=b.size();
int d;
d= (b[0]-'0') % a;
for(int i=1; i!=n; i++)
{
d=d*10;
d=d + (b[i]-'0');
d= d % a;
}
return d;
}
int main()
{
int tc;
cin >> tc;
int a;
string b;
while(tc--)
{
cin >>a>>b;
int x=getmod(b,a);
cout << gcd(x,a)<<endl;
}
return 0;
}
Спрашивание SPOJ постоянно создает плохой контент в StackOverflow. Пожалуйста, прекратите запрашивать такие проблемы без каких-либо дальнейших исследований и отладочных усилий, показанных в вашем вопросе. –