1024 - это степень двойки, следовательно, может записываться в виде:
2ⁿ = 1024, где n = 10
Данную десятичную запись мы можем представить как 1000..., где количество нулей равно n. Таким образом:
1024₁₀ = 2¹⁰ = 10 000 000 000₂
Обратный перевод требует нумерации двоичного числа справа налево, начиная с 0. Таким образом, степени всех нулей будут от 0 до 9, а единице достанется степень 10. Записывается перевод в такой форме (степень у числа - это нумерация):
var k: array [1..20] of integer;
i: integer;
k4,k5: integer;
begin
k4:=0;
k5:=0;
for i:=1 to 20 do begin
write('k[',i,'] = ');
readln(k[i]);
if (k[i] mod 4 = 0) and (k[i] <> 0) then inc(k4)
else if (k[i] mod 5 = 0) and (k[i] <> 0) then inc(k5);
end;
if k4>k5 then writeln('Элементов, кратных 4 больше, чем кратных 5')
else if k5>k4 then writeln('Элементов, кратных 5 больше, чем кратных 4')
else if k4=k5 then writeln('Элементов, кратных 4 одинаковое количество, как и кратных 5');
end.
1024 - это степень двойки, следовательно, может записываться в виде:
2ⁿ = 1024, где n = 10
Данную десятичную запись мы можем представить как 1000..., где количество нулей равно n. Таким образом:
1024₁₀ = 2¹⁰ = 10 000 000 000₂
Обратный перевод требует нумерации двоичного числа справа налево, начиная с 0. Таким образом, степени всех нулей будут от 0 до 9, а единице достанется степень 10. Записывается перевод в такой форме (степень у числа - это нумерация):
1¹⁰0⁹0⁸0⁷0⁶0⁵0⁴0³0²0¹0⁰₂ = 1 · 2¹⁰ + 0 · 2⁹ + ... + 0 · 0⁰ = 2¹⁰ = 1024₁₀