Cod sursa(job #2074402)

Utilizator ParketPatrick Josephs Parket Data 24 noiembrie 2017 16:09:09
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;
}