
С++. С++. С++ 1.Написати рекурсивну функцію, що обчислює n-тий елемент послідовності
Фібоначчі.2.Реалізувати рекурсивну функцію, що знаходить факторіал заданого числа n. 3.Створити рекурсивну функцію для обчислення суми елементів масиву. 4.Реалізувати рекурсивну функцію, що піднімає число a до степеня n.

Ответы на вопрос

Ответ:
Написання рекурсивної функції для обчислення n-го числа Фібоначчі:
int fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
Реалізація рекурсивної функції для обчислення факторіалу:
int factorial(int n) {
if (n == 0)
return 1;
else
return n * factorial(n-1);
}
Створення рекурсивної функції для обчислення суми елементів масиву:
int array_sum(int arr[], int n) {
if (n == 0)
return 0;
else
return arr[n-1] + array_sum(arr, n-1);
}
Реалізація рекурсивної функції піднесення числа до степеня:
double power(double a, int n) {
if (n == 0)
return 1;
else if (n > 0)
return a * power(a, n-1);
else // n < 0
return 1/a * power(a, n+1);
}
Объяснение:



Ось приклади рекурсивних функцій для обчислення послідовності Фібоначчі, факторіалу, суми елементів масиву і піднесення числа до степеня:
- Обчислення n-того елемента послідовності Фібоначчі:
cpp#include <iostream>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
std::cout << "Введіть номер елемента послідовності Фібоначчі: ";
std::cin >> n;
std::cout << "Елемент послідовності Фібоначчі: " << fibonacci(n) << std::endl;
return 0;
}
- Обчислення факторіалу числа n:
cpp#include <iostream>
int factorial(int n) {
if (n == 0) {
return 1;
}
return n * factorial(n - 1);
}
int main() {
int n;
std::cout << "Введіть число: ";
std::cin >> n;
std::cout << "Факторіал: " << factorial(n) << std::endl;
return 0;
}
- Обчислення суми елементів масиву:
cpp#include <iostream>
int arraySum(int arr[], int size) {
if (size == 0) {
return 0;
}
return arr[size - 1] + arraySum(arr, size - 1);
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::cout << "Сума елементів масиву: " << arraySum(arr, size) << std::endl;
return 0;
}
- Піднесення числа a до степеня n:
cpp#include <iostream>
int power(int a, int n) {
if (n == 0) {
return 1;
}
return a * power(a, n - 1);
}
int main() {
int a, n;
std::cout << "Введіть число: ";
std::cin >> a;
std::cout << "Введіть степінь: ";
std::cin >> n;
std::cout << "Результат: " << power(a, n) << std::endl;
return 0;
}
Зверніть увагу, що ці приклади показують основи рекурсії і можуть бути оптимізовані для покращеної продуктивності.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili