1 трит = log2 3 ≈ 1,58496 битов
240 000 трит = 240 000*1,58496 =380 390, 4 бита
Тут все достаточно просто.
Вычитать 4 из 2 смысла нет: получим -2 и что с ним дальше делать?
Возведя -2 в квадрат, получим 4, но зачем 4 получать за две команды, когда можно сразу возвести исходную двойку в квадрат? А дальнейшее вычитание даст -6, квадрат -6 это 36, что никак не напоминает 64.
Поэтому первая команда - это "возведи в квадрат" и мы получим 4.
Из 4 вычитать 4 смыла никакого: получим ноль и дальше что? В квадрат возводить его смысла нет, вычитать еще 4 - будет -4 - и зачем оно нам, когда у нас 4 и так есть? Так что остается опять только "возведи в квадрат". Получаем 16 и это была вторая команда.
Вот 16 в квадрат возводить уж точно смысла нет: зачем нам 256, когда идем к 64? Так что теперь - только "вычти 4". Получим 12.
С 12 такое же рассуждение, 144 - это много. Опять "вычти 4" и получили 8.
Отлично, последняя команда "возведи в квадрат" и мы получили 64!
Ответ: 11221
// PascalABC.NET 3.0, сборка 1076
begin
var s:='SCHOOL555INFORM';
Writeln('Пароль: ',s.Distinct.Take(6).JoinIntoString(''))
end.
<em><u>Результат выполнения программы:</u></em>
Пароль: SCHOL5
Program Mas;
Var a:array[1..100] of integer;
i, n: integer;
Begin randomize;
writeln('Введите размерность массива',n);
readln(n);
for i:=1 to n do
a[i]:=random(45)-1; readln;
for i:=1 to n do
begin if a[i]>15 then
write(' ',a[i]);
end;
readln;
End.