Pagini recente » Cod sursa (job #1384279) | Cod sursa (job #1049357) | Cod sursa (job #248139) | Cod sursa (job #749353) | Cod sursa (job #1438603)
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char** argv) {
ifstream f("fact.in");
ofstream g("fact.out");
int p,i=12,j,cont = 0,fact,af =0;
f>>p;
unsigned int cinci[13];
cinci[1] = 1;
cinci[2] = 6;
cinci[3] = 31;
cinci[4] = 156;
cinci[5] = 781;
cinci[6] = 3906;
cinci[7] = 19531;
cinci[8] = 97656;
cinci[9] = 488281;
cinci[10] = 2441406;
cinci[11] = 12207031;
cinci[12] = 61035156;
f>>p;
if (p == 0)
g<<"1";
if (p != 0){
while (i > 1){
fact = 1;
for(j=i;j>0;j--){
if((p/5) == cinci[j] && p%5 ==0){
g<<"-1";
af = 1;
}
}
if (af == 1) break;
if(p >= cinci[i]){
p = p - cinci[i];
for(j=i;j>0;j--){
fact = fact * 5;
}
cont = cont + fact;
}
else i--;
}
if(af != 1) g<<(cont+p*5);
}
f.close();
g.close();
return 0;
}