Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int Ejercicio4SinMemoria(int n, int k) {
- int res;
- if (k == 0 || k == n) {
- res = 1;
- } else if (k == 1 || k == n - 1) {
- res = n;
- } else {
- int r1 = Ejercicio4SinMemoria(n - 1, k - 1);
- int r2 = Ejercicio4SinMemoria(n - 1, k);
- res = r1 + r2;
- }
- return res;
- }
- int Ejercicio4ConMemoria(int n, int k) {
- hash_table r = hash_table_empty(int_pair_type, long_type);
- return Ejercicio4ConMemoriaG(n, k, &r);
- }
- int Ejercicio4ConMemoriaG(int n, int k, hash_table *t) {
- int r;
- int r1;
- int r2;
- int_pair tupla;
- tupla.a = n;
- tupla.b = k;
- if (hash_table_contains(t, &tupla)) {
- r = *(int*) hash_table_get(t, &tupla);
- }
- else if (k == 0 || k == n) {
- r = 1;
- hash_table_put(t, &tupla, &r);
- }
- else if (k == 1 || k == n - 1) {
- r = n;
- hash_table_put(t, &tupla, &r);
- } else {
- int r1 = Ejercicio4SinMemoria(n - 1, k - 1);
- int r2 = Ejercicio4SinMemoria(n - 1, k);
- r = r1 + r2;
- hash_table_put(t, &tupla, &r);
- }
- return r;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement