Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. int Ejercicio4SinMemoria(int n, int k) {
  2. int res;
  3. if (k == 0 || k == n) {
  4. res = 1;
  5. } else if (k == 1 || k == n - 1) {
  6. res = n;
  7. } else {
  8. int r1 = Ejercicio4SinMemoria(n - 1, k - 1);
  9. int r2 = Ejercicio4SinMemoria(n - 1, k);
  10. res = r1 + r2;
  11. }
  12. return res;
  13. }
  14.  
  15. int Ejercicio4ConMemoria(int n, int k) {
  16. hash_table r = hash_table_empty(int_pair_type, long_type);
  17. return Ejercicio4ConMemoriaG(n, k, &r);
  18. }
  19.  
  20. int Ejercicio4ConMemoriaG(int n, int k, hash_table *t) {
  21. int r;
  22. int r1;
  23. int r2;
  24. int_pair tupla;
  25. tupla.a = n;
  26. tupla.b = k;
  27. if (hash_table_contains(t, &tupla)) {
  28. r = *(int*) hash_table_get(t, &tupla);
  29. }
  30.  
  31. else if (k == 0 || k == n) {
  32. r = 1;
  33. hash_table_put(t, &tupla, &r);
  34. }
  35.  
  36. else if (k == 1 || k == n - 1) {
  37. r = n;
  38. hash_table_put(t, &tupla, &r);
  39. } else {
  40. int r1 = Ejercicio4SinMemoria(n - 1, k - 1);
  41. int r2 = Ejercicio4SinMemoria(n - 1, k);
  42. r = r1 + r2;
  43. hash_table_put(t, &tupla, &r);
  44. }
  45.  
  46. return r;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement