Cod sursa(job #3238305)

Utilizator popescumalinaPopescu Malina popescumalina Data 23 iulie 2024 22:29:25
Problema Factorial Scor 100
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 P;
int expp(int n)
{
    int e = 0;
    while (n >= 5)
    {
        n /= 5;
        e += n;
    }
    return e;
}
void cautbin()
{
    int p = 0, u = 5 * P, rez = -1;
    while(p <= u)
    {
        int m = p + (u - p) / 2;
        int catide0 = expp(m);
        if(catide0 == P)
        {
            rez = m;
            u = m - 1;
        }
        else
            if(catide0 < P)
            p = m + 1;
        else
            u = m - 1;
    }
    g << rez;
}
int main()
{
    f >> P;
    if (P == 0)
    {
        g << 1;
        return 0;
    }
    cautbin();
    f.close();
    g.close();
    return 0;
}