Cod sursa(job #3185607)

Utilizator Jannik_okJannik Jannik_ok Data 19 decembrie 2023 18:59:32
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int main()
{
    long long int suma,numar,termen=5,st=1,dr=2e9,mij,poz=2e9,P;
    fin>>P;

        while(st<=dr)
        {
            mij=(st+dr)/2;
            termen=5;
            suma=0;
            numar=mij;
            while(termen<=numar)
            {
                suma=suma+numar/termen;
                termen=termen*5;
            }
            if(suma>=P)
            {
                poz=min(poz,mij);
                dr=mij-1;
            }
            else
                st=mij+1;
        }
    termen=5;
    suma=0;
    numar=mij;
    while(termen<=numar)
    {
        suma=suma+numar/termen;
        termen=termen*5;
    }
    if(suma==P)
        fout<<poz;
    else
        fout<<"-1";

    return 0;
}