Cod sursa(job #2290796)
| Utilizator | Data | 26 noiembrie 2018 23:49:14 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp-32 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int numara_zerouri(int nr)
{
int nr_zerouri=0;
while(nr>=5)
{
nr_zerouri+=nr/5;
nr=nr/5;
}
return nr_zerouri;
}
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
int P,i,nr,rez=0;
fin>>P;
nr=int(pow(2,30));
while(nr!=0)
{
if(numara_zerouri(rez+nr)<P)
rez=rez+nr;
nr=nr/2;
}
if(numara_zerouri(rez+1)==P)
fout<<rez+1;
else
fout<<-1;
fin.close();
fout.close();
return 0;
}
