Получив число х, этот алгоритм печатает два числа l и m. укажите наибольшее х , при вводе которого алгоритм печатает сначала 7 а потом 8. var x,l,m: integer; begin readln(x); l: =0; m: =0; while x> 0 do begin m: =m+1; if x mod 2< > 0 then l: =l+1; x: =x div 2; end; writeln(l); writeln(m); end.
//Преобразую код так, чтобы он сам возвращал мне все варианты
//Pascal ABC.NET Версия 2.2 Сборка 790
VAR x,L,M,g:integer;
begin
for x:=1 to 10000 do
begin;
L:=0;
M:=0;
g:=x;
while g>0 do
begin
M:=M+1;
if g mod 2<>0 then L:=L+1;
g:=g div 2;
end;
if (l=7) and (m=8) then writeln(x);
end;
end.
Возвращаемые значения:
191
223
239
247
251
253
254
ответ: 254