Cod sursa(job #806166)

Utilizator pitradaPit-Rada Ionel-Vasile pitrada Data 1 noiembrie 2012 22:58:13
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
# include<fstream>
using namespace std;

int nr_zerouri(int n)
{
    int p;
    p=0;
    while (n>4)
    {
        n=n/5;
        p=p+n;
    }
    return p;
}

int main()
{
    ifstream cin("fact.in");
    ofstream cout("fact.out");
    int p,i,nr,n,a,b,c;
    cin >> p;
    n=1; a=1; c=1;
   b=100000010;
    while(a<=b)
    {
        c=(a+b)/2;
        n=nr_zerouri(c);

        if(n==p)
        {
            a=c+1; b=c;
        }
        else
        {

            if(n<p)
            {
                a=c+1;
            }
            else
            {
                b=c-1;
            }
        }
    }

    if(nr_zerouri(b)!=p)
    {
        cout << -1 ;
    }
    else
    {
         while(nr_zerouri(b)==p)
        {
           b--;
        }
         cout << b+1;
    }
    
}