Aminan11
31.07.2021 01:03

Информатика тест только подробно


Информатика тест только подробно

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
//Pascal ABC.NET v3.1 сборка 1172

//1

Var
 ar:array[1..5] of integer;
 i,s:integer;
begin
 randomize;
 writeln('Array:');
  for i:=1 to 5 do
   begin
    ar[i]:=random(5,37);
    writeln(ar[i]);
    s:=s+ar[i];
   end;
 writeln('Sum=',s);
end.

//2

Var
 ar:array[1..20] of integer;
 i,s:integer;
begin
 randomize;
 writeln('Array:');
  for i:=1 to 20 do
   begin
    ar[i]:=random(-77,123);
    writeln(ar[i]);
    if ar[i] mod 2<>0 then s:=s+1;
   end;
 writeln('Count=',s);
end.

//3

Var
 ar:array[1..5] of integer;
 i:integer;
 r:real;
begin
 writeln('Array:');
  for i:=1 to 5 do
   begin
    readln(ar[i]);
    r:=r+ar[i];
   end;
 r:=r/5;
 writeln('Res=',r);
end.
0,0(0 оценок)
Ответ:
westt
12.04.2022 00:14
{0 - умножить на 2; 1 - прибавить 1}

5: 001 {1 - 2 - 4 - 5}
50: 0100010 {1 - 2 - 3 - 6 - 12 - 24 - 25 - 50}
99: 010000101 {1 - 2 - 3 - 6 - 12 - 24 - 48 - 49 - 98 - 99}

В данном случае достаточно просто идти с конца. Скажем, если есть число 99, очевидно, последней командой было "прибавить 1". Далее, 98 - может быть получено умножением на 2, и следует выбирать именно эту команду - программа точно не будет превосходить по размеру вариант, где последней операцией является сложение.
Например,
98 - 49 - 48 короче, чем
98 - 97 - 96 - 48
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота