Cod sursa(job #1403536)

Utilizator klbraduRadu Capalb klbradu Data 27 martie 2015 13:09:07
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;
int p, i, j, m;

ifstream fin("fact.in");
ofstream fout("fact.out");

int nrz(int x){
    int z = 0;
    for(int k=5;k<=x;k*=5){
        z += x/k;
    }
    return z;
}

int main(){
    fin>>p;
    i = 0;
    j = 2000000000;
    if(p == 0){
        fout<<1;
    }else{
        while(i <= j){
            m = (i+j)/2;
            if(nrz(m) >= p){
                j=m-1;
            }else{
                i = m+1;
            }
        }
        if(nrz(i) == p){
            fout<<i;
        }else{
            fout<<-1;
        }
    }
}