Cod sursa(job #1780432)

Utilizator radu_uniculeu sunt radu radu_unicul Data 16 octombrie 2016 10:55:53
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
using namespace std;
long long p,minim=1,maxim=1000000000,mid,valoare=-1;
bool flag=0;
long long int p5(long long int x)
{
    long long int s=0;
    while(x>0)
    {
        s=s+x/5;
        x=x/5;
    }
    return s;
}
int main()
{
   freopen("fact.in","r",stdin);
   freopen("fact.out","w",stdout);
   scanf("%lld",&p);
    while(minim<=maxim)
    {
        mid=(minim+maxim)/2;
        if(p5(mid)==p)
        {
            if((mid-mid%5)==0) printf("1");
            else printf("%lld",mid-mid%5);
            flag=1;
            return 0;
        }
        else if(p5(mid)>p) maxim=mid-1;
        else if(p5(mid)<p) minim=mid+1;
    }
    printf("%lld",valoare);
    return 0;
}