Cod sursa(job #1897448)

Utilizator Ioana_AndreeaCristescu Ioana Ioana_Andreea Data 1 martie 2017 13:58:08
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>

using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int Check (int n)
{
    int i, nr, k=0;
    k=n/5;
    n=n/5;
    for (i=5; i<=n; i+=5)
    {
        nr=i;
        while (nr%5==0)
        {
            k++;
            nr=nr/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;
}