在我的系统上我出错的地方程序运行正常但在提交时得到了错误的答案http://www.spoj.com/problems/NITT2/

时间:2013-12-19 08:26:09

标签: c++

这是我的代码,我试图解决问题,但在提交时得到错误答案

#include<iostream>

using namespace std;
int main()
{

    int t;
    cin>>t;
    while(t--)
    {

        long long int n;
        cin>>n;
        if(n%252==0)
            cout<<"Yes ";
        else
            cout<<"No ";

        if(n%525==0)
            cout<<"Yes";
        else
            cout<<"No";
        cout<<"\n";
    }
    return 0;
}

我的系统在哪里出错,程序运行正常,但是对于我在出错的地方NITT2得到了错误的答案...

1 个答案:

答案 0 :(得分:2)

你错过了一个问题陈述:

Each line contains one number N, whose divisibility is to be tested. 1 <= N <= 10^50000

特别是1 <= N <= 10^50000

您正在将该行读入int; int的存储空间太小,这是轻描淡写的。你有几个选择。您可以使用某种类型的数据类型,可以存储至少10 ^ 50000并支持除法运算。另一种方法是找到一种更好的方法,以一种聪明的方式直接对数据串测试可分的条件。