Тема: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії
Допоможіть, будь ласка, вирішити завдання з теми "Рекурсія".
Буду дуже вдячний за допомогу.
#include <iostream>
#include <cmath>
using namespace std;
double P1(double i, int N){
double t;
if (i<N)
return 0;
else
t = P1(i - 1, N);
return t* (i*N/(i*i+N*N));
}
double P2(double i, int z){
z = 16;
double t;
double N = 1;
if (i>z)
return 0;
else
t = P2(i + 1, z);
return t * (i*N/(i*i + N*N));
}
double P3(double t, double i, int N){
t * (i*N / (i*i + N*N));
if (i == N)
return t;
else
return P3(t, i - 1, N);
}
double P4(double t, double i, int z){
z = 16;
int N = 1;
t * (i*N / (i*i + N*N));
if (i == z)
return t;
else
return P4(t, i + 1, z);
}
int main() {
double S, i, N;
S = 0;
cout<<"N=?";
cin>>N;
i = N;
while (i <= 16)
{
S *= i*N / (i*i + N*N);
i++;
}
cout<<"|S(iteratio)="<<S<<endl;
cout <<"|P1(N,i)="<<P1(16, 1)<< endl;
cout <<"|P2( i,N)="<<P2(1, 16)<<endl;
cout<<"|P3(1, N,i)="<<P3(0, 16, 1)<<endl;
cout<<"|P4(1, K,i)="<<P4(0, 1, 16)<<endl;
cin.get();
cin.get();
return 0;
}
Дякую усім.