Advertisement
informaticage

Esercizi programmazione 1 - rec

Nov 9th, 2023
791
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.92 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int even(int n) {
  4.   if (n == 0) return 1;
  5.   if (n == 1) return 0;
  6.  
  7.   return even(n - 2);
  8. }
  9.  
  10. int summation(int i, int n) {
  11.   if (i == n) return 0;
  12.   return i + summation(i + 1, n);
  13. }
  14.  
  15. int product(int i, int n) {
  16.   if (i == n) return 1;
  17.   return (i + 1) * product(i + 1, n);
  18. }
  19.  
  20. int pi(int i, int n) {
  21.   if (i == n + 1) return 0;
  22.   int sum = summation(0, i) * even(i);
  23.   int prod = product(0, i) * (1 - even(i));
  24.  
  25.   return sum + prod + pi(i + 1, n);
  26. }
  27.  
  28. int pi_iter(int n) {
  29.   int tot = 0;
  30.   for (int i = 1; i <= n; i++) {
  31.     int sum = summation(0, i) * (i % 2 == 0);
  32.     int prod = product(0, i) * (1 - (i % 2 == 0));
  33.  
  34.     tot = tot + (sum + prod);
  35.   }
  36.  
  37.   return tot;
  38. }
  39.  
  40. int power(int b, int e) {
  41.   int res = 1;
  42.   for (int i = 0; i < e; i++) {
  43.     res = res * b;
  44.   }
  45.  
  46.   return res;
  47. }
  48.  
  49. int powrec(int b, int e) {
  50.   if (e == 0) return 1;
  51.   return b * powrec(b, e - 1);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement