Укажите наибольшее х, при вводе которого алгоритм печатает сначала 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
Answers & Comments
Verified answer
Код программы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