Pagini recente » Cod sursa (job #1369881) | Cod sursa (job #755324) | Cod sursa (job #1731383) | Cod sursa (job #332649) | Cod sursa (job #268751)
Cod sursa(job #268751)
#include<stdio.h>
//#include<conio.h>
inline unsigned long long getfive(unsigned long long x)
{
unsigned long n=0;
while(x%5==0)
{
n++;
x/=5;
}
return n;
}
int main()
{
unsigned long long nr,x,j,in=0,out=0,i;
FILE *fi,*fo;
fi=fopen("fact.in","r");
fo=fopen("fact.out","w");
fscanf(fi,"%llu",&nr);
nr*=5;
for(i=25;i<=nr;i+=25)
{
in+=getfive(i)-1;
//printf("testam pt i=%lu; acesta aduce %lu 5-uri. in devine %lu\n",i,getfive(i)-1,in);getch();
while(out<in)
{
//printf("scoatem %lu. pierdem 1 5-uri(out:%lu). nr devine %lu\n",nr,out+1,nr-5);getch();
out++;
nr-=5;
}
}
//printf("terminat. nr este %lu; in:%lu out:%lu",nr,in,out);getch();
fprintf(fo,"%llu",nr);
return 0;
}