Задание

Ниже на четырёх языках программирования записан алгоритм. Получив на вход число \(x\), этот алгоритм печатает два числа: \(L\) и \(M\). Укажи наибольшее число \(x\), при вводе которого алгоритм печатает сначала 1, а потом 2.

C++

#include <iostream>

using namespace std;

int main()

{

int x, L, M;

cin >> x;

L = 0;

M = 0;

while (x > 0){

L = L + 1;

if ((M < x) and (x % 2 != 0)){

M = x % 10 % 3;

}

x = x / 10;

}

cout << L << endl << M << endl;

}

Python

x = int(input())

L = 0

M = 0

while x > 0:

L = L + 1

if M < x and x % 2 != 0:

M = x % 10 % 3

x = x // 10

print(L)

print(M)

Алгоритмический язык

алг

нач

цел x, L, M

ввод x

L := 0

M := 0

нц пока x > 0

L := L + 1

если mod(x,2) <> 0 и M < x то

M :=mod(mod(x,10),3)

все

x := div(x,10)

кц

вывод L, нс, M

кон

Паскаль

var x, L, M: integer;

begin

readln(x);

L := 0;

M := 0;

while x > 0 do

begin

L := L + 1;

if (x mod 2 <> 0) and (M < x) then

M:= (x mod 10) mod 3;

x := x div 10;

end;

writeln(L);

writeln(M);

end.