Cod sursa(job #1999194)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 10 iulie 2017 16:17:54
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>
#define int long long
using namespace std;
main(){
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int P;
    scanf("%lld",&P);
    if(P==0) return printf("1\n"),0;
    int st=1,dr=INT_MAX;
    while(st<=dr){
        int mij=(st+dr)>>1,x=mij,no=0;
        while(x){
            no+=x/5;
            x/=5;
        }
        if(no>=P) dr=mij-1;
        else st=mij+1;
    }
    int x=st,no=0;
    while(x){
        no+=x/5;
        x/=5;
    }
    if(no==P) printf("%d\n",st);
    else printf("-1\n");
    return 0;
}