Укажите наибольшее х, при вводе которого алгоритм печатает сначала 3, а потом 4. var x, l, m: integer; begin readln(x); l: =0; m: =0; while x> 0 do begin l: =l+1 if m< (x mod 5) then begin m: =x mod 5 end x: =x div 5; end. writeln (l); write(m); end
procedure Calc(x: integer; var L: integer; var M: integer); begin L := 0; M := 0; while x > 0 do begin L := L + 1; if M < (x mod 5) then M := x mod 5; X := x div 5; end; end;
begin for x := 100 to 500 do begin Calc(x, L, M); if (L = 3) and (M = 4) then Println(x, L, M); end; end.
суть процедуры заключается в том что она вычисляет кол-во цифр в 5ричном числе (L) и максимальну цифру в числе (М) Максимальным для L=3 M=4 будет 124 или "444"_5
var
x, L, M: integer;
procedure Calc(x: integer; var L: integer; var M: integer);
begin
L := 0;
M := 0;
while x > 0 do
begin
L := L + 1;
if M < (x mod 5) then
M := x mod 5;
X := x div 5;
end;
end;
begin
for x := 100 to 500 do
begin
Calc(x, L, M);
if (L = 3) and (M = 4) then
Println(x, L, M);
end;
end.
Вывод
100 3 4
101 3 4
102 3 4
103 3 4
104 3 4
105 3 4
106 3 4
107 3 4
108 3 4
109 3 4
110 3 4
111 3 4
112 3 4
113 3 4
114 3 4
115 3 4
116 3 4
117 3 4
118 3 4
119 3 4
120 3 4
121 3 4
122 3 4
123 3 4
124 3 4
суть процедуры заключается в том что она вычисляет кол-во цифр в 5ричном числе (L) и максимальну цифру в числе (М)
Максимальным для L=3 M=4 будет 124 или "444"_5