Последнее проверяемое число 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
Var m,n,k,i:integer;
begin
write('m, n: ');
readln(m,n);
if n<m then begin k:=m; m:=n; n:=k; end;
if m>=0
then writeln('В диапазоне [',m,',',n,'] нет отрицательных чисел')
else if n>0 then for i:=m to -1 do write(i,' ')
else for i:=m to n do write(i,' ');
end.
Пример:
m, n: -5 2
-5 -4 -3 -2 -1
32*32*64*12=786432 бита
786432:8=98304 байтов
98304:1024=96 Кбайтов
Program p1;var n:integer;begin Writeln ('Введите число');Readln (n);if n>0 Then a:=(n*3) and (n mod 2=0) Else; Writeln (n);Readln;End.
не точно нужно дополнить,но что-то типо этого
Var
s: string := 'Мышки ели шишки.';
a: set of char := ['а'..'я', 'ё'];
n, i: integer;
begin
s := LowerCase(s) + ' ';
for i := 2 to Length(s) do
if not (s[i] in a) and (s[i-1]='и') then
n := n + 1;
writeln(n);
<span>end.</span>