Cod sursa(job #1898633)

Utilizator Ioana_AndreeaCristescu Ioana Ioana_Andreea Data 2 martie 2017 10:14:47
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>

using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int Check (int n)
{
    int i, k=0;
    while (n/5>0)
    {
        k=k+n/5;
        n=n/5;
    }
    return k;
}
int main()
{
    int p, Left=1, Right=1000000000, Mid, nr=-1, r;
    fin>>p;
    while (Left<=Right)
    {
        Mid=(Left+Right)/2;
        if (Check(Mid)<p)
            Left=Mid+1;
        else
            if (Check(Mid)>p)
                Right=Mid-1;
            else
            {
                nr=Mid;
                break;
            }
    }
    if (nr==-1)
        fout<<nr;
    else
        if (nr>4)
        {
            r=nr%5;
            nr=nr-r;
            fout<<nr;
        }
        else
        {
            nr=1;
            fout<<nr;
        }
    return 0;
}