Slider

Решение. Задание 20. Досрочный ЕГЭ 2020 года, Информатика

Условие задачи

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

Бейсик Python
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
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)
Алгоритмический язык Паскаль
алг  
нач
   цел x, L, M
   ввод x
   L := 0
   M := 0
   нц пока x > 0
      M := M + 1
      если mod(x, 2) <> 0
        то
        L := L + mod(x, 8)
      все
      x := div(x, 8)
   кц
   вывод L, нс, M
кон
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.
С++
#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; 
}

Решение

L = 2, M = 3
M – это количество цифр в 8-ричной записи числа, а L – это сумма его нечетных цифр.
Наибольшее число в 8-ричной системе, содержащее 3 цифры с суммой нечётных цифр = 2, это 611_8 = 393

Ответ

393.

Назад