Pagini recente » Cod sursa (job #268609) | Cod sursa (job #2420655) | Cod sursa (job #2876228) | Cod sursa (job #1132436) | Cod sursa (job #727503)
Cod sursa(job #727503)
#include<stdio.h>
long long p;
FILE*f=fopen("fact.in","r"),*g=fopen("fact.out","w");
void citire(){
fscanf(f,"%lld ",&p);
fclose(f);
}
int aparitie_5(long long x){
long n=5,fin=x,s=0;
while(n<=fin){
s+=fin/n;
n*=5;
}
// fprintf(g,"%ld %ld ",x,s);
return s;
}
int verificare(long long x){
long nr_5;
nr_5=aparitie_5(x);
if(nr_5>p){return -1;}
if((nr_5==p)){
return 0;
}
return 1;
}
void aflare_n(){
long long x=1,y=p,mij,l;
if(p==0){fprintf(g,"1");return;}
else{
while(x<=y){
mij=(x+y)/2;
l=verificare(mij*5);
if(l==0){
fprintf(g,"%lld ",mij*5);
return;
}
else{
if(l==-1){
y=mij-1;
}
else{
x=mij+1;
}
}
}
}
fprintf(g,"-1");
}
int main(){
citire();
aflare_n();
fclose(g);
return 0;
}