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.
Вычисления во вложении. Последнее деление на самом деле можно было бы "в столбик" и не писать, и так понятно, какой будет результат.
2. Переводим в двоичную систему счисления и дописываем вперед незначащие нули, пока не наберётся 8 знаков:
3. Добавляется знаковый бит: дописываем вперед 0, если число положительное, и 1, если отрицательное. Для неотрицательных чисел по сути ничего не меняется, а отрицательные представляем в дополнительном коде: меняем все биты на противоположные и добавляем к результату 1.
-56: меняем биты на противоположные (получаем 11100011) и добавляем 1. Окончательно получается
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.
ответ:1. Таблицы сложения и умножения:
Вычисления во вложении. Последнее деление на самом деле можно было бы "в столбик" и не писать, и так понятно, какой будет результат.
2. Переводим в двоичную систему счисления и дописываем вперед незначащие нули, пока не наберётся 8 знаков:
3. Добавляется знаковый бит: дописываем вперед 0, если число положительное, и 1, если отрицательное. Для неотрицательных чисел по сути ничего не меняется, а отрицательные представляем в дополнительном коде: меняем все биты на противоположные и добавляем к результату 1.
-56: меняем биты на противоположные (получаем 11100011) и добавляем 1. Окончательно получается
Объяснение: