Cod sursa(job #1094713)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 29 ianuarie 2014 19:14:03
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
using namespace std;

int p,sol;

void citire() {

    ifstream in("fact.in");
    in>>p;
    in.close();

}

int zero(int nr) {

    int x,put;
    x=0;
    put=5;
    while(nr/put!=0){
        x+=nr/put;
        put*=5;
    }
    return x;

}

int caut(int n) {

    int min,max,m,t;
    min=0;
    max=999999999;
    while(min<=max) {
        m=min+(max-min)/2;
        t=zero(m);
        if(t==p)
            return m-m%5;
        if(t<n)
            min=m+1;
        else
            max=m-1;

    }
    return -1;
}

void solvesiafisare() {

    ofstream out("fact.out");
    if(p==0)
        sol=1;
    else
        sol=caut(p);
    out<<sol<<'\n';
    out.close();

}

void afisare() {}

int main() {

    citire();
    solvesiafisare();
    return 0;

}