Cod sursa(job #3185600)
Utilizator | Jannik Jannik_ok | Data | 19 decembrie 2023 18:48:48 |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 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;
}
fout<<poz;
return 0;
}