Cod sursa(job #1087479)

Utilizator SCBbestofSocaciu-Cumpanasu Bogdan SCBbestof Data 19 ianuarie 2014 14:42:31
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <algorithm>
#include <fstream>

using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

int p;

int factorial(int n)
{
    int counter=0;
    for(int i = 5; i<=n; i+=5)
    {
        int aux = i;
        while(aux%5==0)
        {
            counter++;
            aux/=5;
        }
    }
    return counter;
}

int bin(int a , int b)
{
    int m = (a+b)/2;
    if(a<=b)
        if(factorial(m)<p)
        {
            return bin(m+1,b);
        }
        else if(factorial(m)>p)
        {
            return bin(a,m-1);
        }
        else
            return m;
}

int main()
{
    f>>p;
    if(p==0)
        g<<1;
    else
    {
        g<<bin(0,p*5);
    }
    return 0;
}