Задача состоит в том, чтобы вычислить факториал числа. Я отладил свой код, и он отлично работает для любых входных данных и выдает правильный вывод для всех заданных тестовых случаев. Но тем не менее, я получаю неверный ответ на SPOJ.
Проблема:
Целое число t, 1‹=t‹=100, обозначающее количество наборов тестов, за которым следуют t строк, каждая из которых содержит одно целое число n, 1‹=n‹=100.
Любое понимание будет полезно. Я пропустил некоторые критические тестовые случаи?
Мой код:
#include <iostream>
using namespace std;
int main()
{
long T;
cin>>T;
while(T--)
{
long long N;
long long index, count;
cin>>N;
long long a[300];
long long i=1;
a[0]=1; count=1;
while(i<=N)
{
long long z=0;
long long k; long long x;
long long j=i;
long long temp=0; long long current=0;
for(k=0; k<count;k++)
{
x=(a[k]*j)+temp;
a[k]=x%10;
temp=x/10;
}
if(temp>0)
while(temp>0)
{
a[k]=temp;
temp=temp/10;
k++;
count++;
}
i++;
}
for(long long g=count-1; g>=0; g--)
cout<<a[g];
cout<<"\n";
}
return 0;
}
11307674368000
вместо1307674368000
- person Blastfurnace   schedule 26.05.2014