Pagini recente » Cod sursa (job #442840) | Monitorul de evaluare | Istoria paginii utilizator/vladdstoica | Cod sursa (job #1771292) | Cod sursa (job #223071)
Cod sursa(job #223071)
#include <stdio.h>
#include <string.h>
#define MAX 100
int get_n(int p) {
int v[MAX], i, p0 = 0, n = 0;
if (p == 0)
return 1;
memset(v, 0, MAX * sizeof(int));
while (p0 < p) {
v[0]++;
n+=5;
for (i = 0; v[i] == 5; i++) {
v[i+1]++;
v[i] = 0;
}
p0 += (i + 1);
}
if (p0 == p)
return n;
else
return -1;
}
int main(void) {
FILE *f;
int p;
f = fopen("fact.in", "rt");
fscanf(f, "%d", &p);
fclose(f);
f = fopen("fact.out", "wt");
fprintf(f, "%d", get_n(p));
fclose(f);
return 0;
}