Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: us-ascii
Méret: 682 byte
#include <stdio.h>
#include <stdlib.h>
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;
}