В задачах этого листка нельзя использовать циклы. Читайте внимательно требования к оформлению решения.
Дано число n, напечатайте на экран все числа от 1 до n. Решение оформите в виде рекурсивной функции
def Print(n)
, которая выводит не экран числа от 1 до n, не возвращает значения при этом.
Ввод числа n осуществляется в основной программе, вывод чисел осуществляет функция Print
.
Ввод | Вывод |
---|---|
3 |
1 2 3 |
Даны два натуральных числа \(a\) и \(b\) (\(1\le a\le b\)), вычислите произведение всех чисел от \(a\) до \(b\) (включительно).
Решение оформите в виде рекурсивной функции def Product(a, b)
, которая
возвращает произведение чисел от \(a\) до \(b\) при помощи return
, и ничего не выводит на печать.
Ввод и вывод результата осуществляется в основной программе.
Ввод | Вывод |
---|---|
3 |
60 |
Дано натуральное число \(n\), если оно является точной степенью двойки, выведите YES, иначе выведите NO.
Решение оформите в виде рекурсивной функции def IsPowerOf2(n)
, которая возвращает
True
, если число является степенью двойки и False
в противном случае.
Нельзя пользоваться циклами, возведением в степень, логарифмами, действительными числами.
Ввод | Вывод |
---|---|
8 |
YES |
3 |
NO |
Дано натуральное число N. Вычислите сумму его цифр. Решение оформите в виде функции
def SumOfDigits(n)
, которая получает на вход число и возвращает (при помощи
return
) сумму его цифр.
При решении этой задачи нельзя использовать строки (кроме как при считывании данных), списки, циклы. Подсказка - от числа можно легко отбросить последнюю цифру.
Ввод | Вывод |
---|---|
179 |
17 |
Дано натуральное число N. Вычислите наибольшую его цифру. Решение оформите в виде функции
def MaxDigit(n)
, которая получает на вход число и возвращает (при помощи
return
) максимальную из его цифр.
При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется). Подсказка - от числа можно легко отбросить последнюю цифру.
Ввод | Вывод |
---|---|
179 |
9 |
Дано слово, состоящее только из строчных латинских букв.
Проверьте, является ли это слово палиндромом. Выведите
YES
или NO
. Решение оформите в виде
функции def IsPalindrome(s)
, возвращающей True
или False
.
При решении этой задачи нельзя пользоваться циклами, нельзя использовать срезы с шагом, отличным от 1.
Ввод | Вывод |
---|---|
radar |
YES |
yes |
NO |