Cod sursa(job #1075643)

Utilizator AndyCatrunaCatruna Andy AndyCatruna Data 9 ianuarie 2014 13:31:32
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int n,z,i,a,j,c,dr,st,p,mid,d;


int main(){
    fin>>p;
    st=1;
    dr=500000000;
    while(st<=dr){
        mid=(st+dr)/2;
        z=0;
        c=5;
        a=1;
        while(a!=0){
            a=mid/c;
            c=c*5;
            z=z+a;
        }
        if(z>=p){
            dr=mid-1;
        }
        else{
            st=mid+1;

        }
    }
    c=5;
    a=1;
    while(a!=0){
        a=st/c;
        c=c*5;
        d=d+a;

    }

    if(d!=p){
        fout<<-1<<"\n";

    }
    else{
        if(p==0){
            fout<<1<<"\n";

        }
        else{
            fout<<st<<"\n";
        }
    }






    return 0;
}