Cod sursa(job #2671926)

Utilizator WorldWar3Murariu Tudor WorldWar3 Data 12 noiembrie 2020 20:45:49
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");

int p1;

int nr0(int n)
{
    int nr = 0;
    for(int i = 1;i <= n;i++)
    {
        int copie = i,nr5 = 0;
       while(copie%5 == 0)
       {
           copie /= 5;
           nr5++;
       }
       nr += nr5;
    }
    return nr;
}

int main()
{
    cin>>p1;
    int ls = 0, ld = 400000015, n = (ls + ld) / 2;

    while(nr0(n) != p1 && ld > ls)
    {
        int zero = nr0(n);
        if(zero > p1)
            ld = n;
        else
            ls = n;
        n = (ls + ld)/2;
    }

    while(nr0(n - 1) == p1 && n > 1)
        n--;

    if(nr0(n) == p1)
        cout<<n;
    else
        cout<<-1;

    return 0;
}