Cod sursa(job #396337)

Utilizator csizMocanu Calin csiz Data 14 februarie 2010 23:39:48
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <iostream>
#include <fstream>
using namespace std;

int fact(int x){
    int putere=5;
    int nr=0;
    while(x/putere){
        nr+=x/putere;
        putere*=5;
    }
    return nr;
}


int main(){

    std::ifstream in("fact.in");int p;in>>p;
    std::ofstream out("fact.out");
    int a=1,b=1000000000;
    while(a<b){
        if(fact((a+b)/2)<p) a=(a+b)/2+1;
        else b=(a+b)/2;
    }
    if(fact(a)==p) out<<a;
    else out<<-1;

}