👤

Scrie un subprogram recursiv care : a) calculează suma S(n) = 1 + 3 + 5 + ... + (2n – 1); b) calculează produsul P(n) = 1 * 4 *7 *... * (3n – 2)

Răspuns :

int suma(int n)
{int s=0;
for(int i=1;i<=n;i=i+2)
s=s+i;
return s;}
int produs(int n)
{int p=1;
for(int i=1;i<=n;i=i+3)
p=p*i;
return p;}
int suma(int x)
{
 if (x == 1)
  return 1;
 return 2 * x - 1 + suma(x - 1);
}

b)
int produs(int x)
{
 if (x == 1)
  return 1;
 return (3 * x - 2) * produs(x - 1);
}