Лабораторная работа №2.
РЕКУРСИЯ.
Каждая бригада должна выполнить 2 задачи. Ввод и печать данных сопровождать комментариями. Использовать внутреннюю цель. Для нахождения целого частного можно использовать операцию div, для нахождения остатка – операцию mod, для нахождения модуля – функцию abs.
Номер бригады | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Номера задач | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 11 | 13 | 16 |
1. Вывести на экран в порядке возрастания все четные числа из диапазона, границы которого вводятся с клавиатуры. Границы могут вводиться в произвольном порядке. Вывод должен осуществляться на прямом ходе рекурсии.
2. Вывести на экран в порядке убывания все четные числа из диапазона, границы которого вводятся с клавиатуры. Границы могут вводиться в произвольном порядке. Вывод должен осуществляться на обратном ходе рекурсии.
3. Вывести на экран в порядке возрастания все нечетные числа из диапазона, границы которого вводятся с клавиатуры. Границы могут вводиться в произвольном порядке. Вывод должен осуществляться на обратном ходе рекурсии.
4. Вывести на экран в порядке убывания все нечетные числа из диапазона, границы которого вводятся с клавиатуры. Границы могут вводиться в произвольном порядке. Вывод должен осуществляться на прямом ходе рекурсии.
5. Найти сумму всех целых чисел из диапазона, границы которого вводятся с клавиатуры. Границы могут вводиться в произвольном порядке. Суммирование должно осуществляться на обратном ходе рекурсии.
6. Найти сумму цифр целого числа, вводимого с клавиатуры. Суммирование должно осуществляться на обратном ходе рекурсии.
7. Найти количество цифр в целом числе, вводимом с клавиатуры. Суммирование должно осуществляться на прямом ходе рекурсии.
8. Найти максимальную цифру в целом числе, вводимом с клавиатуры. Все сравнения должны выполняться на прямом ходе рекурсии.
9. Найти минимальную цифру в целом числе, вводимом с клавиатуры. Все сравнения должны выполняться на обратном ходе рекурсии.
10. Возвести целое число в целую степень. Число и степень вводятся с клавиатуры. Все умножения должны выполняться на обратном ходе рекурсии.
11. Сформировать новое число – перевод десятичного натурального числа в
p-ичное (десятичное число и основание p, 2£p£9 вводятся с клавиатуры). Искомое число формировать на обратном ходе рекурсии.
12. Найти цифровой корень натурального числа, вводимого с клавиатуры. Цифровой корень находится следующим образом: суммируем цифры исходного числа, затем цифры получившегося числа и т. д. до тех пор, пока не получим цифру. Например, цифровой корень числа 24186 равен 3, т. к. 2+4+1+8+6=21, 2+1=3.
13. Найти наибольший общий делитель двух натуральных чисел, вводимых с клавиатуры, с помощью алгоритма Евклида (Большее из чисел заменяется разностью этих чисел. Этот процесс повторяется до тех пор, пока не останется одно ненулевое число. Это число и будет наибольшим общим делителем).
14. Проверить, является ли введенное с клавиатуры натуральное число простым.
15. Определить, сколько вычитаний будет выполнено в следующем алгоритме: из натурального числа вычли сумму цифр, из получившегося числа вычли сумму его цифр и т. д. до тех пор, пока не получим 0. Например, для числа 38 будет выполнено 4 вычитания, 38-(3+8)=27, 27-(2+7)=18, 18-(1+8)=9, 9-9=0.
16. Сформировать новое число – перевод целого p-ичного числа (2£p£9) в десятичное. p-ичное число и основание системы счисления вводятся с клавиатуры.
17. Найти наименьшее общее кратное двух натуральных чисел, вводимых с клавиатуры (НОК(a, b)=(a×b)/НОД(a, b)). НОД(a, b) – наибольший общий делитель найти с помощью алгоритма Евклида (Большее из чисел заменяется разностью этих чисел. Этот процесс повторяется до тех пор, пока не останется одно ненулевое число. Это число и будет наибольшим общим делителем).


