Cod sursa(job #930357)

Utilizator BlueStrutAndrei Prahoveanu BlueStrut Data 27 martie 2013 16:36:01
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<cstdio>
using namespace std;
unsigned long long i, n, st, dr, mij, x;
unsigned long long corect(unsigned long long x){
    unsigned long long rez; rez=0;
    while (x>=5) {rez+=x/5; x=x/5;}
    if (rez>=n) return 0; else return 1;
}
unsigned long long corectfix(unsigned long long x){
    unsigned long long rez; rez=0;
    while (x>=5) {rez+=x/5; x=x/5;}
    if (rez==n) return true; else return false;
}
int main(){
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%llu", &n);
    st=1; dr=10000000000000000000;
    while (dr-st>=2) {
        mij=(st+dr)/2;
        x=corect(mij);
        if (x==0) dr=mij; else st=mij;
    }
    if (corectfix(st)==true) printf("%llu\n", st); else printf("%llu\n", dr);
    return 0;
}