Pagini recente » Cod sursa (job #3278508) | Cod sursa (job #2800995) | Cod sursa (job #1324503) | Cod sursa (job #63038) | Cod sursa (job #363348)
Cod sursa(job #363348)
#include <iostream>
using namespace std;
unsigned char t1[100000000]={1,0},t2[100000000]={0};
bool zero(long p)
{
for(long i=0;i<p;i++)if(t1[i]!=0)return(false);
return(true);
}
int main()
{
FILE *f;
f=fopen("fact.in","r");
long p;
fscanf(f,"%ld",&p);
fclose(f);
long n=2;
long k;
while(!zero(p))
{
k=0;
long x;
while(k<p){
x=t1[k]*n;
{
long y=k;
while(x!=0){
t2[y]+=x%10;
x/=10;
x+=t2[y]/10;
t2[y]%=10;
y++;
//printf(" KKT t2[%d]=%d\n",y-1,t2[y-1]);
}
}
k++;
}
for(long i=0;i<p;i++){
//printf("%d",t2[i]);
t1[i]=t2[i],t2[i]=0;
}
//printf(" NNT n=%d\n",n);
n++;
//system("pause");
}
f=fopen("fact.out","w");
fprintf(f,"%d",n-1);
fclose(f);
return(0);
}