Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Программирование C++ 2014n.docx
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
887 Кб
Скачать
☆

Лабораторная работа №6 Программирование рекурсивных алгоритмов

ЦЕЛЬ РАБОТЫ: закрепление навыков программирования с использованием рекурсивных функций.

Выполнение работы: в соответствии с вариантом, используя прямую рекурсию, составить и реализовать программу.

Задание

  1. Описать рекурсивную функцию NOD(A, B) целого типа, находящую наибольший общий делитель (НОД) двух целых положительных чисел A и B, используя алгоритм Евклида: НОД(A, B) = НОД(B, A mod B), если B ≠ 0;  НОД(A, 0) = A. С помощью этой функции найти НОД(A, B), НОД(A, C), НОД(A, D), если даны числа A, B, C, D.

  2. Для n = 12 найти числа Фибоначчи. Числа Фибоначчи: F(0) = 1, F(1) = 1 F(n) = F(n - 2) + F(n - l)

  3. Даны целые числа m и n, где 0 ≤ m ≤ n, вычислить, используя рекурсию, число сочетаний С(n, m) по формуле: , при 0 ≤ m ≤ n. Воспользовавшись формулой можно проверить правильность результата.

  4. Опишите рекурсивную функцию, которая по заданным вещественному х и целому п вычисляет величину хn согласно формуле:

  1. Задана последовательность положительных чисел, признаком конца которых служит отрицательное число. Используя рекурсию, подсчитать количество чисел и их сумму.

  2. Напишите рекурсивную функцию K(n), которая возвращает количество цифр в заданном натуральном числе n, используя формулу:

  1. Определим функцию S(n), вычисляющую сумму цифр заданного натурального числа:

Описать рекурсивную функцию DigitSum(K) целого типа, которая находит сумму цифр целого числа K, не используя оператор цикла. С помощью этой функции найти суммы цифр для пяти данных целых чисел.

  1. Дан вектор X из n вещественных чисел. Найти минимальный элемент вектора, используя вспомогательную рекурсивную функцию, находящую минимум среди последних элементов вектора X, начиная с n -гo.

  2. Напишите рекурсивную функцию для нахождения биномиальных коэффициентов (для заданного М ≥ i ≥ j > 0 вычислите все ):

  1. Напишите программу вычисления функции Аккермана для всех неотрицательных целых аргументов т и п:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Для заданных границ интегрирования а и b вычислите значение определенного интеграла следующего вида:

  1. Напишите рекурсивную функцию, перемножающую два целых числа, одно из которых неотрицательно, без использования операции умножения.