Pagini recente » Cod sursa (job #1686408) | Cod sursa (job #350821) | Cod sursa (job #256553) | Cod sursa (job #2787716) | Cod sursa (job #324251)
Cod sursa(job #324251)
#include<iostream>
using namespace std;
int main()
{
int n;
int z[20];
z[0] = 1;
z[1] = 40000010;
z[2] = 80000015;
z[3] = 120000010;
z[4] = 160000015;
z[5] = 200000010;
z[6] = 240000020;
z[7] = 280000015;
z[8] = 320000015;
z[9] = 360000015;
z[10] = 400000015;
int v[20];
v[0] = 0;
v[1] = 10000000;
v[2] = 20000000;
v[3] = 30000000;
v[4] = 40000000;
v[5] = 50000000;
v[6] = 60000000;
v[7] = 70000000;
v[8] = 80000000;
v[9] = 90000000;
v[10] = 100000000;
FILE *in = fopen("fact.in", "r");
FILE *out = fopen("fact.out", "w");
fscanf(in,"%d",&n);
unsigned int i =0;
int k = 9;
k = n/10000000;
//while((v[k] > n)){
// k--;
//}
if(n == 0) {
fprintf(out,"1");
} else {
i =1;
if(k >=0) {
i += z[k]/5;
n -= v[k];
}
for(;n > 0;i++){
n--;
unsigned int ii = i;
while(!(ii % 5)){
n--;
ii /= 5;
}
}
if(n>=0)
fprintf(out,"%d",(i-1)*5);
else
fprintf(out,"-1");
}
fclose(in);
fclose(out);
return 0;
}