Предмет: Информатика,
автор: htyuwvv
Обчислення сум та добутків за допомогою рекурсії
Умова завдання
За допомогою рекурсивних функцій обчислити значення суми чи добутку.
В одній програмі слід вивести результати звертання до п’яти функцій, які реалізують
такі способи:
1) обчислення здійснюються на рекурсивному спуску, значення параметра в
рекурсивних викликах – спадає;
2) обчислення здійснюються на рекурсивному спуску, значення параметра в
рекурсивних викликах – зростає;
3) обчислення здійснюються на рекурсивному підйомі, значення параметра в
рекурсивних викликах – спадає;
4) обчислення здійснюються на рекурсивному підйомі, значення параметра в
рекурсивних викликах – зростає;
5) обчислення здійснюється ітераційним способом (для контролю правильності
рекурсивних способів).
Всі п’ять результатів мають збігатися. Всю необхідну функціям інформацію слід передавати
лише за допомогою параметрів. Має бути на c++ (1 скрін це приклад як має виглядати код) (2 скрін мій приклад по якому треба зробити код)
Приложения:


Ответы
Автор ответа:
1
#include <iostream>
#include <cmath>
using namespace std;
double rec(const int K, const int N, const int i = 1) {
if (i > N) return 0;
return sin(1.0 * ((K <= N) ? i : N)) + rec(K, N, (K <= N) ? (i + 1) : (i - 1));
}
double iter(const int K, const int N) {
double result = 0;
for (int i = K; i <= N; ++i) result += sin(1.0 * i);
return result;
}
int main() {
int K, N;
cout << "K="; cin >> K;
cout << "N="; cin >> N;
cout << "(iter) se = " << iter(K, N) << endl;
cout << "(rec up ++) 51 = " << rec(K, N) << endl;
cout << "(rec up --) S2 = " << rec(K, N, N) << endl;
cout << "(rec down ++) 53 = " << rec(K, N, K) << endl;
cout << "(rec down --) 54 = " << rec(K, N, N) << endl;
return 0;
}
htyuwvv:
Так там прикладний код той що я скинув а не код по моєму виразі
Похожие вопросы
Предмет: История,
автор: stiush
Предмет: Другие предметы,
автор: lebedevavika5896
Предмет: Русский язык,
автор: karina69112
Предмет: Русский язык,
автор: daniilblohin16
Предмет: Математика,
автор: oleg136b