От 1 до n

Дано натуральное число n. Выведите все числа от 1 до n.

Ввод Вывод
5 1 2 3 4 5

От A до B

Даны два целых числа A и В (каждое в отдельной строке). Выведите все числа от A до B включительно, в порядке возрастания, если A < B, или в порядке убывания в противном случае.

Ввод Вывод
5 1 5 4 3 2 1

Функция Аккермана

В теории вычислимости важную роль играет функция Аккермана A(m,n), определенная следующим образом:

A(m,n)=⎧⎩⎨n+1A(m−1,1)A(m−1,A(m,n−1))m=0m>0,n=0m>0,n>0

Даны два целых неотрицательных числа m и n, каждое в отдельной строке. Выведите A(m,n).

Ввод Вывод
2 2 7

Точная степень двойки

Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

Операцией возведения в степень пользоваться нельзя!

Ввод Вывод
8 YES
3 NO

Сумма цифр числа

Дано натуральное число N. Вычислите сумму его цифр.

При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется).

Ввод Вывод
179 17

Цифры числа справа налево

Дано натуральное число N. Выведите все его цифры по одной, в обратном порядке, разделяя их пробелами или новыми строками.

При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется). Разрешена только рекурсия и целочисленная арифметика.

Ввод Вывод
179 9 7 1

Цифры числа слева направо

Дано натуральное число N. Выведите все его цифры по одной, в обычном порядке, разделяя их пробелами или новыми строками.

При решении этой задачи нельзя использовать строки, списки, массивы (ну и циклы, разумеется). Разрешена только рекурсия и целочисленная арифметика.

Ввод Вывод
179 1 7 9

Проверка числа на простоту

Дано натуральное число n>1. Проверьте, является ли оно простым. Программа должна вывести слово YES, если число простое и NO, если число составное. Алгоритм должен иметь сложность O(logn).

Ввод Вывод
2 YES
4 NO

Указание. Понятно, что задача сама по себе нерекурсивна, т.к. проверка числа n на простоту никак не сводится к проверке на простоту меньших чисел. Поэтому нужно сделать еще один параметр рекурсии: делитель числа, и именно по этому параметру и делать рекурсию.

Разложение на множители

Дано натуральное число n>1. Выведите все простые множители этого числа в порядке неубывания с учетом кратности. Алгоритм должен иметь сложность O(logn).

Ввод Вывод
18 2 3 3