Program zadacha3;vari,kolvo,proizv: integer;a: array [1..10] of integer;
beginfor i:=1 to 10 do begin a[i]:=random(10); writeln(a[i]); end;kolvo:=0;proizv:=1;for i:=1 to 10 do beginif a[i]>5 then begin kolvo:=kolvo+1; proizv:=proizv*a[i]; end;end;
writeln('kolvo chisel > 5 = ', kolvo);writeln('proiz chisel > 5 = ', proizv);
end.
<em><u>пожарить яйца</u></em>
<em><u>1. достать сковороду</u></em>
<em><u>2.налить масло</u></em>
<em><u>3. включить плиту</u></em>
<em><u>4.достать яйца</u></em>
<em><u>5. разбить их в сковороду.</u></em>
<em><u>6. посолить</u></em>
<em><u>7.пожарить.</u></em>
<em><u>8. выключить плиту.</u></em>
<em><u>9. съесть яйца
подойдёт?
</u></em>
Последнее проверяемое число 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