Pagini recente » Cod sursa (job #435317) | Cod sursa (job #1148112) | Cod sursa (job #1380200) | Cod sursa (job #1554571) | Cod sursa (job #229623)
Cod sursa(job #229623)
/*Se da un numar intreg P. Sa se gaseasca cel mai mic numar natural strict pozitiv N
pentru care N! are exact P cifre de 0 la sfarsit.*/
/*Se da un numar intreg P. Sa se gaseasca cel mai mic numar natural strict pozitiv N
pentru care N! are exact P cifre de 0 la sfarsit.*/
#include<stdio.h>
#define N 400000025
int main()
{
int p,n,d,t,i,a=1;
FILE *f1,*f2;
f1=fopen("fact.in","r");
f2=fopen("fact.out","w");
fscanf(f1,"%d",&p);
i=0;
t=0;
if(p==0){
fprintf(f2,"%d",1);
return 0;
}
if(p<=25000000)
{
for(i=5;i<=100000005;i=i+5)
{
d=1;
n=i/5;
while(n%5==0)
{
d=d+1;
n=n/5;
}
t=t+d;
if(t>=p)
break;
}
}
else if(p>25000000 && p<=50000000)
{
t=25000000;
for(i=100000010;i<=2000000010;i=i+5)
{
d=1;
n=i/5;
while(n%5==0)
{
d=d+1;
n=n/5;
}
t=t+d;
if(t>=p)
break;
}
}
else if(p>50000000 && p<=75000000)
{
t=50000000;
for(i=200000015;i<=300000010;i=i+5)
{
d=1;
n=i/5;
while(n%5==0)
{
d=d+1;
n=n/5;
}
t=t+d;
if(t>=p)
break;
}
}
else if(p>75000000 && p<=100000000)
{
t=75000000;
for(i=300000015;i<=400000040;i=i+5)
{
d=1;
n=i/5;
while(n%5==0)
{
d=d+1;
n=n/5;
}
t=t+d;
if(t>=p)
break;
}
}
if(t>p) fprintf(f2,"%d",0);
else fprintf(f2,"%d",i);
fclose(f1);
fclose(f2);
return 0;
}