previous arrow
next arrow
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.

Назад