Cod sursa(job #1808073)

Utilizator osiaccrCristian Osiac osiaccr Data 17 noiembrie 2016 12:02:45
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#define DEF 2000000000

using namespace std;

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

int p, i, mij, st, dr;

int f (int x){
    int nr = 0;
    int a = 5;
    while (a <= x){
        nr += x/a;
        a *= 5;
    }
    return nr;
}

int main (){
    fin>>p;

    st = 1;
    dr = 100;
    while (st <= dr){
        mij = (st + dr) / 2;
        if (p > f(mij)){
            st = mij + 1;
        }
        else{
            dr = mij - 1;
        }
    }

    if (f(st) == p){
        fout<<st;
    } else fout<<"-1";

    return 0;
}