Cod sursa(job #1750904)

Utilizator giotoPopescu Ioan gioto Data 31 august 2016 14:06:26
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio>
using namespace std;

int n;
int legen(int x){
    int sol=0;
    while(x){sol+=x;x=x/5;}
    return sol;
}
int main()
{
    freopen("fact.in", "r", stdin);
    freopen("fact.out", "w", stdout);
    scanf("%d", &n);
    if(n==0) {printf("1");return 0;}
    int st=4*n/5,dr=n+1;
    while(st+1<dr){
        int mij=(st+dr)/2;
        if(legen(mij)>=n)dr=mij;
                    else st=mij;
    }
    if(legen(st)==n){printf("%d", st*5);return 0;}
    if(legen(dr)==n) {printf("%d", dr*5);return 0;}
    printf("-1");
    return 0;
}