А) У нас есть число в двоичной системе счисления: 01001100. Над каждой цифрой напишем ее разряд (справа налево; разряд начинается с 0). Затем мы первую цифру данного нам числа должны перемножить на основание данного нам числа ( т.к 01001100 - двоичное число, то основание соответственно равно 2) в какой-то степени ( степень определяется разрядом цифры), затем нужно проделать это со всеми цифрами числа и сложить результаты(все это делается с право налево). 01001100(2) = 1*2^6 + 1*2^3 + 1*2^2 = 76(10) ( 0 можно опускать, так как при умножении на 0 всегда будет 0) б) 00010101(2) = 1*2^4 + 1*2^2 + 1*2^0 = 21(10) P.s Так как код прямой, то все разряды являются целом числом в двоичном коде. Самый крайний левый разряд определяет знак числа в десятичной системе счисления ( если 0, то +, если 1, то -)
Begin var a: integer; readln(a); for i: integer := 1 to abs(a) do if (a mod i = 0) then writeln('> ', i); end.
function Simple(a: integer): boolean; begin result := true; for i: integer := 2 to (a div 2) do if (a mod i = 0) then begin result := false; break; end; end;
begin var a: integer; readln(a); writeln(Simple(a)); end.
var a: integer;
begin readln(a); for i: byte := length(a.ToString()) downto 1 do write(a.ToString()[i]); end.
function Simple(a: integer): boolean; begin result := true; for i: integer := 2 to (a div 2) do if (a mod i = 0) then begin result := false; break; end; end;
function par(a: integer): string; begin for i: byte := length(a.ToString()) downto 1 do result += a.ToString()[i]; end;
begin var a: integer; readln(a); for i: integer := 1 to abs(a) do if ((a mod i = 0) and (Simple(a)) and (par(a) = inttostr(i))) then writeln('> ', i); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку