Задание
Ниже на четырёх языках программирования записан алгоритм. Получив на вход число \(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.