Cod sursa(job #877038)

Utilizator taigi100Cazacu Robert taigi100 Data 12 februarie 2013 15:09:39
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<stdio.h>
#include<string.h>
using namespace std;
long long p;
long long fivepow(int a)
{
    long long c=0;
    for(long long i=5;i<=a;i*=5)
        c+=a/i;
    return c;
}
int main()
{
    FILE *f=fopen("factorial.in","r");
    FILE *g=fopen("factorial.out","w");
    fscanf(f,"%lld",&p);
    if(!p)
    {
        fprintf(g,"1");
    }
    else  {
    long long mid,a=1,b=20000000;
    while(a<b)
    {
        mid=(a+b)/2;
        long long n=fivepow(mid);
            if(n>=p)
            {
                b=mid;
            }
            else
            {
                a=mid+1;
            }
    }
    if(fivepow(a)==p)
           {
               fprintf(g,"%lld",a);
           }
    else
       fprintf(g,"-1");
}
return 0;
}