处理大数据时发生运行时错误。 (SIGTSTP)

时间:2019-06-15 19:52:49

标签: c++ modulo largenumber

我们可以在1到10 ^ 9之间有一个数字K。 我们必须找出0到10 ^ K之间有多少个数字恰好有两个不同的数字。在考虑每个数字时,我们必须将数字视为: N和10 ^ K-N -1。

尝试使用较小的数字。它工作正常。我不明白我们将如何处理如此大量的信息并仍然处理所有这些信息

if(num_test_cases < 1 || num_test_cases > 100000)
{
    cout << FAILURE << endl;
    return 0;
}

while(num_test_cases > 0)
{
    i = 0;
    count = 0;
    cin >> Val_K;
    if(Val_K < 1 || Val_K > 1000000000)
    {
        cout << FAILURE << endl;
        num_test_cases--;
        continue;
    }
    maxNumber = (unsigned long long)(pow(10,Val_K)) %(1000000007);
    for(;i <= (maxNumber - 1); i++)
    {
        s.clear();
        fillDistinct(i,s);
        fillDistinct(maxNumber - i - 1,s);
        if(s.size() == 2)
        {
            count++;
        }
        count = count %(1000000000 + 7);
    }
    cout << count << endl;
    num_test_cases--;

}
return 0;

}

超出时间限制,并弹出SIGTSTP错误

0 个答案:

没有答案