Program Prog_1;
var a,b:integer;
begin
b:=0;
for a:=100 to 999 do
begin if (a mod 10=0) then b:=b+1;
end;
writeln (b);
end.
В текстовом редакторе World я знаю десять таблиц.
Последнее проверяемое число 7FF, поскольку большее число при удвоении будет четырехзначным, нарушая условие задания.
procedure Analyze(n: integer; var sd: integer; var has2: boolean);
{Для заданного целого n возвращает:
sd - сумму цифр в шестнадцатиричном представлении;
has2 - true, если среди шестнадцитиричных цифр имеется хотя бы одна двойка.}
const
mask = $00F;
var
i, r: integer;
begin
has2 := false;
sd := 0;
for i := 1 to 3 do
begin
r := (n and mask);
has2 := (has2 or (r = 2));
sd := sd + r;
n := (n shr 4);
end
end;
function IsSuitable(n: integer): Boolean;
{Проверяет, удовлетворяет ли число n набору условий}
var
s1, s2: integer;
has2, stub: boolean;
begin
Analyze(n, s1, has2);
Analyze(2 * n, s2, stub);
IsSuitable := ((s1 = s2) and has2)
end;
var
i, n: integer;
begin
n := 0;
for i := $100 to $7FF do
if IsSuitable(i) then n := n + 1;
Writeln('Найдено чисел- ', n)
end.
Результат выполнения программы:
Найдено чисел- 23
А можно подробнее? я не очень понял но срадостю помогу