Функция имеет два базовых случая. В первом случае если параметр функции - нечетное число, то возвращается ответ "No", во втором случае если параметр функции равен 2, то возвращается ответ "Yes". Для всех других значений параметра происходит его целочисленное уменьшение в два раза. Таким образом, в приведенном программном коде определяется, является ли число n степенью 2.
Так как первоначальное значение n=21, то сразу наступает условие для базового случая 21%2==1. Поэтому рекурсивные вызовы отсутствуют, следовательно, глубина рекурсии равна 0.
begin
var size := readinteger;
var arr := ArrRandomInteger(size, -100, 100);
arr.Println;
var quantity := 0;
for var i := 0 to arr.Length - 1 do
begin
if (arr[i] > 25) and (arr[i] < 99) and (arr[i] mod 2 <> 0) then
begin
inc(quantity);
end;
end;
write(quantity);
end.
Объяснение:
begin // Начало программы
var size := readinteger; // Переменная, хранящая размер массива, считывается с клавиатуры
var arr := ArrRandomInteger(size, -100, 100); // Объявление массива размером size + заполнение массива случайными значениями из диапазона [-100, 100].
arr.Println; // Вывод массива
var quantity := 0; // Переменная, хранящая количество элементов, равна 0
for var i := 0 to arr.Length - 1 do // Идём от нуля до размера массива - 1
begin // Начало цикла
if (arr[i] > 25) and (arr[i] < 99) and (arr[i] mod 2 <> 0) then // Если значение массива с индексом i > 25 И < 99 И нечетное, тогда
begin // Начало условного оператора
begin // Начало условного оператора
inc(quantity); // Увеличиваем значение переменной quantity на единицу
end; // Конец условного оператора
end; // Конец цикла
write(quantity); // Выводим ответ
end. // Конец программы
0
Объяснение:
Функция имеет два базовых случая. В первом случае если параметр функции - нечетное число, то возвращается ответ "No", во втором случае если параметр функции равен 2, то возвращается ответ "Yes". Для всех других значений параметра происходит его целочисленное уменьшение в два раза. Таким образом, в приведенном программном коде определяется, является ли число n степенью 2.
Так как первоначальное значение n=21, то сразу наступает условие для базового случая 21%2==1. Поэтому рекурсивные вызовы отсутствуют, следовательно, глубина рекурсии равна 0.