Cod sursa(job #877069)

Utilizator taigi100Cazacu Robert taigi100 Data 12 februarie 2013 15:30:03
Problema Factorial Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
//#include<stdio.h>
//#include<string.h>
#include<iostream>
#include<fstream>
using namespace std;
long long p;
long long fivepow(long long a)
{
    long long c=0;
    for(long long i=5;i<=a;i*=5)
        c+=a/i;
    return c;
}
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    f >> p;
    if(!p)
    {
        g << "1";
        return 0;
    }
    long long a=1,b=20000000;
    while(a<b)
    {
        long long mid=(a+b)/2;
        long long n=fivepow(mid);
        if(p<=n)
            b=mid;
        else
            a=mid+1;
    }
    if(fivepow(a)==p)
               g << a;
    else
       g << "-1";
return 0;
}