Programozás‎ > ‎Feladatok‎ > ‎Számolós‎ > ‎Megoldás‎ > ‎

mb_szam.c

Letöltés: mb_szam.c

#include <stdio.h>  // mert kell
#include <stdlib.h> // mert ez is kell

int *cache, k;

int bont(int n)
{
int sum = 0, i, x;

if (n <= 1)
return 1;

x = (n > k) ? k : n;

for (i = 1; i <= x; i++) {
if (!cache[n - i])
cache[n - i] = bont(n - i);

sum += cache[n - i];
}

return sum;
}

int main(int argc, char **argv)
{
int n;

if (argc != 3) {
fprintf(stderr, "Usage: %s n k\n", argv[0]);
return 1;
}

n = atoi(argv[1]);
k = atoi(argv[2]);

if (!n || !k) {
fprintf(stderr, "Torekedjunk a helyes parameterekre\n");
return 2;
}

cache = calloc(n, sizeof(int));
if (!cache) {
perror("malloc");
return 4;
}

printf("%d\n", bont(n));

return 0;
}
ċ
mb_szam.c
(1k)
Gábor Fehér,
2012. jún. 16. 10:13
Comments