Пограммирование
енавориммаргоп
пграммироване
еавориммаргп
праммировае
евориммарп
паммирове
еориммап
пммирое
ериммп
пмире
еимп
пие
еп
п
Ответ: П
найти пару носков
взять один носок, взять второй носок
если носки составляют пару, то ура
если не пара, то опять берем носки
найти пару взаимно простых чисел
взять одно число
взять второе число
Если они взаимно простые , то ура
иначе опять ищем числа
var
a, b, s, p: real;
begin
writeln('Введите длину прямоугольника:');
read(a);
writeln('Введите ширину прямоугольника:');
read(b);
s := a * b;
p := 2 * (a + b);
writeln('Площадь прямоугольника = ', p, #10, 'Периметр прямоугольника = ', s);
end.
Ответ:
6251413
Объяснение:
Поскольку функция рекурсивно вызывает себя и при каждом вызове выводит переданное число, удобно будет записать выводимые числа в столбик, обозначая глубину стека (количество рекурсивных вызовов) и произойдет ли вызов. Очередная пара рекуррентных вызовов происходит при передаче числа больше или равного четырём.
0: F(6) -> 6 (вызов произойдёт)
1: F(2) -> 2 (вызов не произойдёт)
1: F(5) -> 5 (вызов произойдёт)
2: F(1) -> 1 (вызов произойдёт)
2: F(4) -> 4 (вызов произойдёт)
3: F(1) -> 1 (вызов не произойдёт)
3: F(3) -> 3 (вызов не произойдёт)