Укажите наибольшее х, при вводе которого алгоритм печатает сначала 3, а потом 4. Var x,...

0 голосов
103 просмотров

Укажите наибольшее х, при вводе которого алгоритм печатает сначала 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 <br> Begin
M:=x mod 5
End
X:=x div 5;
End.
Writeln (L); write(M);
End


Информатика (2.7k баллов) | 103 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Код программы

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



(53.1k баллов)