Cумма равна 35.
Процедура печатает число, если в неё передается n, большее единицы, и при этом сначала срабатывают две процедуры, вложенные в неё.
Передаётся число 10. Оно больше 1. Начинается процедура от числа 7. Оно больше 1. Начинается процедура от числа 4. Оно больше 1. Начинается процедура от числа 1. Оно не больше 1.
Возвращаемся к числу 4. Начинается f(4 div 2), то есть процедура от числа 2. Оно больше 1. Начинается процедура от числа -1. Оно меньше 1. Начинается процедура от 2 div 2, т.е от 1. Число не больше 1. Обе процедуры для двойки выполнены. Печатается 2.
Обе процедуры для числа 4 тоже выполнены. Печатается 4.
Возвращаемся к числу 7. Выполняется вторая процедура для 7, то есть f(3). Обе её процедуры ничего не печатают. Тогда она сама печатает 3.
Обе процедуры для числа 7 выполнены. Печатается 7.
Теперь к самому первому числу 10. Начинается вторая его процедура, то есть от числа 5. Начинается первая процедура от 5, то есть f(2). Обе процедуры для числа 2 ничего не делают, печатается 2. Вторая процедура от 5 тоже 2. Аналогично печатается 2.
Обе процедуры числа 5 выполнены. Печатается 5.
Обе процедуры числа 10 выполнены. Печатается 10.
Ура! осталось посчитать сумму напечатанного.
2+4+3+7+2+2+5+10=35
Объявляем переменные P,i,kc,kn как целочисленный тип.
beginНачало программы.
write('P='); //вводим целое числоВыводим на экран "P=".
readln(P);Считываем переменную P с клавиатуры и переходим на новую строчку.
kc:=0; //четные делителиПрисваиваем переменной kc, в которой будет храниться количество четных делителей, значение 0.
kn:=0; //нечетные делителиПрисваиваем переменной kn, в которой будет храниться количество нечетных делителей, значение 0.
for i:=2 to P do //от 2 до PОбъявляем цикл с переменной i от 2 до P (до числа, которое мы ввели с клавиатуры).
if P mod i=0 then //если n делится на i, это делитель if odd(i)then inc(kn) else inc(kc); //нечетный или четныйЕсли остаток от деления P на i равен нулю, то есть P делится на i без остатка, то смотрим: если i нечетная, то увеличиваем kn на 1, иначе (то есть если i четная), увеличиваем kc на 1.
writeln('Количество четных делителей=',kc,' нечетных=',kn)Выводим на экран: "Количество четных делителей=", значение переменной kc, " нечетных=", значение переменной kn".
end.Конец программы.
Поделитесь своими знаниями, ответьте на вопрос:
К стандартным приложениям Windows относятся...
В состав Windows входит ряд стандартных приложений, которые обычно устанавливаются во время инсталляции операционной системы. К этим приложениям относятся встроенный текстовый редактор WordPad, графический редактор Paint, калькулятор Cаlc.