Cod sursa(job #1807267)

Utilizator sebiinfosimon sebastian sebiinfo Data 16 noiembrie 2016 11:49:45
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>

using namespace std;
long long v5(long long n)
{
    long long s=0;
    while(n>0)
    {
        s+=n/5LL;
        n/=5LL;
    }
    return s;
}
int main()
{
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    long long n,stanga=1,dreapta=100000000000000;
    int p;
    scanf("%d",&p);
    while(stanga<dreapta)
    {
        long long x=v5((stanga+dreapta)>>1);
        if(x<p)
        {
            stanga=((stanga+dreapta)>>1)+1;
        }
        else
        if(x>p)
        {
            dreapta=((stanga+dreapta)>>1)-1;
        }
        else
        if(x==p)
        {
            break;

        }
    }

    printf("%d",(stanga+dreapta)/2-(stanga+dreapta)/2%5);
    return 0;
}