Тренировка задания 22 ЕГЭ (22.6)

22 (20) задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:

Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M.

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

Паскаль:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
    x, L, M: integer;
  begin
    readln(x); 
    L := 0;
    M := 0;
    while x > 0 do
    begin
      M := M + 1;
      if x mod 2 <> 0 then
        L := L + x mod 8; 
      x := x div 8
    end;
    writeln(L); 
    writeln(M) 
  end.
Бейсик:

DIM X, L, M AS INTEGER
INPUT X
L = 0
M = 0
WHILE X > 0
  M = M + 1
  IF X MOD 2 <> 0 THEN
    L = L + X MOD 8
  END IF
  X = X \ 8
WEND
PRINT L
PRINT M
Python:

x = int(input())
L = 0
M = 0
while x > 0:
 M = M + 1
 if x % 2 != 0:
   L = L + x % 8
 x = x // 8
print(L)
print(M)
С++:

#include <iostream>
using namespace std;
int main(){
 int x, L, M;
 cin >> x;
 L = 0;
 M = 0;
 while (x > 0) {
   M = M + 1;
   if(x % 2 != 0) {
     L = L + x % 8;
   }
   x = x / 8;
 }
 cout << L << endl << M << endl;
 return 0;
}

✍ Решение:
 

Ответ: 393

📹 Видео