Процедуры и функции

80 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Определите количество шестизначных «счастливых» чисел. «Счастливым» будем называть такое шестизначное число, в котором сумма его первых трех цифр равна сумме его последних трех цифр. 
Заполните пропуски в программе.

Функция sum3(n) вычисляет сумму цифр трехзначного числа.
Функция happy(n) определяет является ли число n счастливым. Функция happy(n) для своей работы использует функцию sum3(n).
Программа вычисляет значение выражения
\(ans = {2 + \sqrt{2} \over {5 + \sqrt{5}}} + {5 + \sqrt{5} \over {13 + \sqrt{13}}}+{13 + \sqrt{13} \over {8 + \sqrt{8}}}\).

Для вычисления используется функция drop(a, b), которая вычисляет значение одного слагаемого.
Запишите пропущенную строку в этой функции.
Дано число n. Вам необходимо сгенерировать все правильные скобочные последовательности, содержащие n пар скобок.

Входные данные
В первой строке дано натуральное число n (1 <= n <= 8).

Выходные данные
Выведите все правильные скобочные последовательности по возрастанию в лексикографическом порядке. Каждую в отдельной строке.

 
Требуется вычислить площадь комнаты в квадратном лабиринте.

Входные данные
В первой строке  вводится число N – размер лабиринта (3 <= N <= 10). В следующих N строках задан лабиринт (‘.’ – пустая клетка, ‘*’ – стенка). И наконец, последняя строка содержит  два числа – номер строки и столбца клетки, находящейся в комнате, площадь которой необходимо вычислить. Гарантируется, что эта клетка пустая и что лабиринт окружен стенками со всех сторон.

Выходные данные
Требуется вывести единственное число – количество пустых клеток в данной комнате.

 
Примеры
Входные данные Выходные данные
1
5
*****
**..*
*.*.*
*..**
*****
2 4
3
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n
Основная программа должна содержать ввод значения переменной n и вызов процедуры

Примеры
Входные данные Выходные данные
1 5
    o
   ooo
  ooooo
 ooooooo
ooooooooo
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n. Основная программа должна содержать ввод значения переменной n и вызов процедуры.
 
Примеры
Входные данные Выходные данные
1 5
    o
   ooo
  ooooo
 ooooooo
ooooooooo
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n
Основная программа должна содержать ввод значения переменной n и вызов процедуры

Примеры
Входные данные Выходные данные
1 5
    o
   ooo
  ooooo
 ooooooo
ooooooooo
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n.
Основная программа должна содержать ввод значения переменной n и вызов процедуры.
 
 
Примеры
Входные данные Выходные данные
1 5
    o
   ooo
  ooooo
 ooooooo
ooooooooo

Дружественные числа -– это два натуральных числа, таких, что сумма всех делителей одного числа (меньших самого этого числа) равна другому числу, и наоборот. Напишите программу, которая проверяет пару чисел на "дружественность". Используйте функцию, которая вычисляет сумму делителей числа.

Входные данные: Входная строка содержит два натуральных числа.

Выходные данные: Программа должна вывести слово 'YES', если полученные числа – дружественные, и слово 'NO' в противном случае.

Примеры
Входные данные Выходные данные
1 220 284 YES
2 1210 1092 NO
Напишите процедуру с параметром n, которая выводит ёлочку с кроной высотой n. Основная программа должна содержать ввод значения переменной n и вызов процедуры.
 
Примеры
Входные данные Выходные данные
1 5
    o
   ooo
  ooooo
 ooooooo
ooooooooo

Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями:
\(a^n=(a^2)^{n/2},\ при \ четном \ n, \\ a^n=a \cdot a^{n-1},\ при \ нечетном \ n.\)

Реализуйте алгоритм быстрого возведения в степень. Если вы все сделаете правильно, то сложность вашего алгоритма будет O(logn) .

Входные данные
Программа получает на вход вещественное число a и целое число n (a > 0, 0 <= n <= 109). Каждое число в отдельной строке. 

Выходные данные 
Выведите \(a^n\) с точностью не менее 5 знаком после запятой.
 
Примеры
Входные данные Выходные данные
1 2
7
128
2 1.00001
100000
2.71827
✓ 2 301✗ 10 129500лёгкаяВойти и решать

Напишите рекурсивную функцию, которая вычисляет максимальное значение из последовательности целых чисел, поданных не её вход. Ввод заканчивается числом 0. Основная программа должна содержать вызов функции и вывод результата. Запрещено использовать циклы

Входные данные:  Во входных строках записаны целые числа, по одному в каждой строке. В последней строке записано число 0.

Выходные данные: Программа должна вывести одно число – максимальное значение из всех элементов последовательности (не считая числа 0).
 

Примеры
Входные данные Выходные данные
1 1
3
2
0
3
✓ 125✗ 196500лёгкаяВойти и решать

Напишите рекурсивную функцию, которая вычисляет сумму элементов последовательности целых чисел, поданных не её вход. Ввод заканчивается числом 0. Основная программа должна содержать вызов функции и вывод результата. Запрещено использовать циклы

Входные данные: Во входных строках записаны целые числа, по одному в каждой строке. В последней строке записано число 0.

Выходные данные: Программа должна вывести одно число – сумму всех элементов последовательности.

Примеры
Входные данные Выходные данные
1 1
2
3
0
6
✓ 243✗ 204500лёгкаяВойти и решать

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

Входные данные: Входная строка содержит одно натуральной число .

Выходные данные: Программа должна вывести количество чётных цифр введённого числа.

Примеры

Входные данные Выходные данные
1 123456 3
2 13579 0
✓ 429✗ 380400лёгкаяВойти и решать
Поделиться
Класснуть