Cod sursa(job #2514607)
Utilizator | Data | 26 decembrie 2019 15:14:35 | |
---|---|---|---|
Problema | Factorial | Scor | 15 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p, k=1, n;
int main()
{
fin>>p;
if(p==0)
fout<<1;
else if(p<5)
fout<<5*p;
else
{
while(k*5<=p)
k*=5;
n=(4*p*k)/(k-1);
n=(n+5)/5*5;
if(k*5>n)
fout<<n;
else
{
k*=5;
n=(4*p*k)/(k-1);
n=(n+5)/5*5;
fout<<n;
}
}
fin.close();
fout.close();
return 0;
}