Cod sursa(job #1399514)

Utilizator MailatMailat Radu Mailat Data 24 martie 2015 19:49:51
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <iostream>
#include <math.h>
using namespace std;

//ifstream fin("fact.in");
//ofstream fout("fact.out");

int p;

int test(int c)
{
    int s = 0;
    int x = c;
    do{
        x = x/5;
        s += x;
    }while(x != 0);
    return s;
}

int binar(int a, int b)
{
    if(a-b < 2)
        return -1;
    int middle = (a+b)/2;
    int nr_zero = test(middle);
    if(nr_zero < p)
    {
        return binar(middle, b);
    }
    else if(nr_zero > p)
        return binar(a, middle);
    else
    {
        if(middle%5==0)
            return middle;
        else
            return binar(a,middle);
    }


}

int fact(int x)
{
    int s = 1;
    for(int i = 1; i <= x; i++)
    {
        s *= i;
    }
    return s;
}

int main()
{
    cin >> p;
    int a = 0;
    int b = pow(10,p);
    cout << binar(a,b);

    return 0;
}