Cod sursa(job #2808)
Utilizator | Data | 19 decembrie 2006 07:18:42 | |
---|---|---|---|
Problema | Factorial | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream.h>
long rep(int j);
long nr;
int main()
{
int aux=0,i=0;
ifstream fin("fact.in");
fin>>nr;
fin.close();
ofstream fout("fact.out");
if(nr==0)
fout<<'1';
else //nrz (nr de 0-uri)=n div 5+(n div 5 div 5)+......pana cand iti ajunge un termen la 0.
{
aux=0;
i=1;
while(i<=nr)
{
aux=aux+rep(i);
i++;
}
fout<<aux;
}
fout.close();
return 0;
}
long rep(int j)
{
long yo=nr%5,n=0;
for(int i=2;i<=j;i++)
{
yo=yo%5;
n++;
}
return n;
}