Pagini recente » Borderou de evaluare (job #1936699) | Monitorul de evaluare | Cod sursa (job #2822733) | Cod sursa (job #2591663) | Cod sursa (job #234232)
Cod sursa(job #234232)
#include<fstream>
#include<iostream>
unsigned long p,p1,n1,nd5,p2,i;
long n;
fstream f;
int main(){
f.open("fact.in",ios::in);
f>>p;
f.close();
if(p==0)
n=1;
else{
nd5=1;
n=0;
p1=0;
while(p1+nd5<p){
p1=p1+nd5;
nd5=nd5*5;
}
n=nd5;
n1=n;
p2=p1;
while(p2>0){
for(i=1;i<=4;i++)
if(p1+p2<=p){
p1=p1+p2;
n=n+n1;
}
nd5=nd5/5;
n1=nd5;
p2=p2-nd5;
}
if(p1!=p)
n=-1;
}
f.open("fact.out",ios::out);
f<<n;
f.close();
return 0;
}