Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #372198) | Cod sursa (job #439772) | Cod sursa (job #189291)
Cod sursa(job #189291)
#include <iostream>
#include <fstream>
using namespace std;
unsigned long fact(long nrd)
{
unsigned long number = 1, nr = 0, first, second;
do{
nr++;
first = (number % 10000) * nr;
second = (((number / 10000) * nr) % 10000);
number = second * 10000 + first;
while ((number % 10) == 0) {
number /= 10;
nrd--;
}
} while (nrd);
return nr;
}
int main()
{
long nrd;
fstream in, out;
in.open("fact.in", ios_base::in);
out.open("fact.out", ios_base::out);
in >> nrd;
out << fact(nrd) << endl;
in.close();
out.close();
return 0;
}