Cod sursa(job #1531032)

Utilizator preda.andreiPreda Andrei preda.andrei Data 21 noiembrie 2015 13:14:26
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <stdio.h>

using namespace std;

long long int zero(long long int n){
    long long int k=0, put=5;

    while(n>=put){
        k=k+n/put;
        put*=5;
    }

    return k;
}

int main()
{
    FILE *fin=fopen("fact.in", "r");
    FILE *fout=fopen("fact.out", "w");

    long long int n, st, dr, mij, z, nr=-1;

    fscanf(fin, "%lld", &n);
    st=1;
    dr=400000000;
    while(st<=dr){
        mij=st+(dr-st)/2;
        z=zero(mij);
        if(z>=n){
            if(z==n)
                nr=mij;
            dr=mij-1;
        }
        else st=mij+1;
    }

    fprintf(fout, "%lld", nr);
    return 0;
}