Cod sursa(job #1486290)

Utilizator nedelcu11Nedelcu Mihai Vlad nedelcu11 Data 14 septembrie 2015 17:16:14
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p,i,w=0,nr;
long long pt[31],s=5;
long long n,dr,st;
int frac(int p)
{   int i=1,s=0;
    while(pt[i]<=p)
    {   s+=p/pt[i];
        i++;
    }
    return s;
}
int main()
{   f>>n;
    for(i=1;i<=27;i++) {pt[i]=s;s*=5;}
    st=1;dr=n*5;
    if(n==0) g<<1; else w=1;
    while(st<=dr and w==1)
    {   p=(st+dr)/2;
        nr=frac(p);
        if(nr==n) {g<<p-p%5;w=0;}
        if(nr<n) st=p+1; else if(nr>n) dr=p-1;
    }
    if(w==1) g<<-1;
    return 0;
}