Cod sursa(job #2427657)
Utilizator | Data | 1 iunie 2019 14:14:09 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("fact.in");
ofstream out ("fact.out");
int nr_zero(int n){
int nr = 0;
while ( n > 0){
nr += n/5;
n /= 5;
}
return nr;
}
const int L = 28;
int p, n, cif, k;
int main()
{
in >> p;
int r = 0, pas = 1 << 28;
while (pas != 0)
{
if(nr_zero(r + pas) < p)
{
r += pas;
}
pas /= 2;
}
r++;
if ( nr_zero(r) != p)
{
out << - 1;
}
out << r;
return 0;
}