Mai intai trebuie sa te autentifici.
Cod sursa(job #2072079)
Utilizator | Data | 21 noiembrie 2017 12:59:35 | |
---|---|---|---|
Problema | Factorial | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
int P;
int nrCifreZero(int x){
if (x<5)
return 0;
int a, b;
a=0; b=x;
while (x%5==0){
x/=5;
a++;
}
return a+nrCifreZero(b-5);
}
int main(){
int i, j, m;
ifstream fin ("fact.in");
fin >> P;
fin.close();
i=1; j=5*P;
while (i<=j){
m=(i+j)/2;
if (nrCifreZero(m-m%5)>=P)
j=m-1;
else
i=m+1;
}
ofstream fout ("fact.out");
if (P<0)
fout << "-1\n";
else if (P==0)
fout << "1\n";
else
fout << j+1 << '\n';
fout.close();
return 0;
}