1) 5 9 13 17 21 25 29 33 37 41 45 49
var sum, i, s: integer; //обыявляем необходимые переменные
//sum - сумма, i - кол-во слогаемых, s - само слогаемое
begin //начало
sum := 0; i := 1; s := 5; //первое слогаемое = 5
repeat
sum := sum + s; //к сумме прибавляем слагаемое
s := s + 4; //увеличиваем слогаемое
i := i + 1; //увеличиваем кол-во слогаемых
until (sum = 324); //выход когда сумма равна 324
writeln ('Слогаемых: '); // выводим кол-во слогаемых
write (i);
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 (вызов не произойдёт)
Искусственный интеллект.
Объяснение: