В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

Задание: Переделать в рекурсивную функцию:
n = int(input())
i = 1
z = 1
spisok = []
a = []
while i <= n:
while z <= i:
if i % z == 0:
a.append(z)
z += 1
if len(a) % 2 == 0:
spisok.append(i)
a = []
z = 1
i += 1
print(len(spisok))

Показать ответ
Ответ:
lydmilagerasim
lydmilagerasim
02.04.2023 03:57

а=11         b=3

a=11-2     b=b+a

         a<2?-нет,так как 2<9

Возвращаемся в начало:

а=9-2       b=b+3

         7<2?-нет,так как 2<7

Возвращаемся в начало:

а=7-2        b=b+3

        5<2?-нет,так как 2<5

Возвращаемся в начало:

a=5-2        b=b+3

       3<2?-нет,так как 2<3

Возвращаемся в начало:

a=3-2        b=b+3

        1<2?-да,значит идем дальше:

b=b+a (b=3+1)

                4<=1?-нет,идем дальше:

а=а+3        b=b-a

a=4            b=4-4 (0)

Возвращаемся назад:

             0<=1-да,значит:

             Конец.

b=0

0,0(0 оценок)
Ответ:
vika27072
vika27072
29.12.2021 23:39

1) Код программы:

const N = 10;

var a:array[1..N] of integer;

i:integer;

begin

 writeln('Массив:');

 for i:=1 to N do begin

   a[i] := random(-100, 100);

   write(a[i], ' ');

 end;

 writeln();

 writeln('Отрицательные элементы, кратные 3: ');

  for i:=1 to N do begin

   if ((a[i] < 0) and (a[i] mod 3 = 0)) then

     write(a[i], ' ');

 end;

end.

2) Код программы:

const N = 8;

var a:array[1..N] of integer;

i, sum:integer;

begin

 writeln('Массив:');

 for i:=1 to N do begin

   a[i] := random(-100, 100);

   write(a[i], ' ');

 end;

 sum:=0;

 writeln();

 writeln('Сумма нечётных элементов, больше 10: ');

  for i:=1 to N do begin

   if ((a[i] > 10) and (a[i] mod 2 = 1)) then

     sum:= sum + a[i];

 end;

 write(sum);

end.

3) Код программы:

const N = 10;

var a:array[1..N] of integer;

i, kol:integer;

begin

 writeln('Массив:');

 for i:=1 to N do begin

   a[i] := random(-5, 5);

   write(a[i], ' ');

 end;

 kol:=0;

 writeln();

 writeln('Количество элементов, равных нулю с чётными индексами: ');

  for i:=1 to N do begin

   if ((a[i] = 0) and (i mod 2 = 0)) then

     kol:= kol + 1;

 end;

 write(kol);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота