Cod sursa(job #2074403)
Utilizator | Data | 24 noiembrie 2017 16:10:21 | |
---|---|---|---|
Problema | Transport | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <stdio.h>
#include <stdlib.h>
#define L 28
int zero(long long x){
int z=0;
while(x>=5){
x/=5;
z+=x;
}
return z;
}
int main()
{
FILE *f1 = fopen("fact.in","r"), *f2 = fopen("fact.out","w");
int p;
int pas;
long long n;
fscanf(f1,"%d",&p);
pas=1<<L;
n=0;
while(pas!=0){
if(zero(n+pas)<p)
n=n+pas;
pas=pas/2;
}
if(p==0)
fprintf(f2,"1");
else if(p!=zero(n+1))
fprintf(f2,"-1");
else
fprintf(f2,"%lld",n+1);
return 0;
}