Cod sursa(job #806387)

Utilizator dec0o0dinu pinu dec0o0 Data 2 noiembrie 2012 18:11:47
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
using namespace std;
long long p;
ifstream f("fact.in");
ofstream g("fact.out");
int dscp(long long n)
{
    int c=0;
    while (!n%5)
    {
        n/=5;c++
    }
    return c;
}
long long f(long long n)
{
    long long rez=0;
    while (n)
    {
        rez+=n/5;
        n/=5;
    }
    return rez;
}
long long c;
long long cb(long long a,long long b)
{
    if (a>b)
    return -1;
    c=(a+b)/2;
    if (f(c)==9)
    return c;
    if (f(c)<p)
    return cb(c+1,b);
    if (f(c)>p)
    return cb(a,c-1);
}
long long imb(long long n,long long t)
{
    while (f(n)==t)
    n--;
    return n+1;
}
int main()
{
    f>>p;
    if (p==0)
    g>>1;
    else
    {
        long long n=cb(1,1000000000000);
        if (n!=-1)
        n=imb(n,f(n));
        g>>n;
    }
    return 0;
}