Cod sursa(job #1832146)

Utilizator StriddRobert Stridd Data 19 decembrie 2016 15:29:58
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int get_nr_of_5(int x)
{
    int i=0,c5,copi;
    c5=0;
    for(i=1;i<=x;i++)
        {
         copi=i;
       while(copi%5==0)
       {
           c5++;
           copi/=5;
       }
        }
       return  c5;
}
int main()
{
    int x,y;
    f>>y;
    int s=1,d=5*y;
    if(y<0)
        fout << -1;
    else
        if(y==0)
        fout << 1;
    else
    while(s<=d)
    {
        int m=(s+d)/2;
        if(get_nr_of_5(m)==y)
        {
            while(get_nr_of_5(m)==y)
                m--;
            fout << m+1;
            break;
        }
        else
        if(get_nr_of_5(m)<y)
        {
            s=m+1;
        }
        else
            d=m-1;
    }
    return 0;
}
/// cautare binara 1 pana la 5 * input