22

Максимальное число по алгоритму

ЕГЭ · Информатика · Задание 22 · Алгоритмы и исполнители
ПовышеннаяФИПИ563E4DКороткий ответ≈ 5 минутОтвет сверен с ключом

Получив на вход натуральное десятичное число $x$, алгоритм последовательно делит его на $8$ с отбрасыванием остатка. На каждой итерации увеличивается $M$ на 1, а если текущее значение $x$ чётное, значение $L$ умножается на $x \bmod 8$. Изначально $L = 1$, $M = 0$. Алгоритм выводит сначала $L$, а потом $M$. Укажите наибольшее число $x$, при вводе которого алгоритм выводит сначала $6$, а потом $3$.

Условие как в банке ФИПИ — открыть и сверить
Впишите правильный ответ.

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

Бейсик

Python

DIM X, L, M AS INTEGER

INPUT X

L = 1

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 = 1

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 := 1

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 := 1;

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 = 1;

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;

}



Ваш ответ

Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

Что означает значение $M = 3$ при последовательном целочисленном делении на $8$?

2Наводящая — какие числа считатьуровень 2 из 3

Три итерации означают, что у числа три цифры в восьмеричной записи. Произведение учитываемых чётных цифр должно быть равно $6$.

3Прямая — фактически решениеуровень 3 из 3

Чтобы получить произведение $6$, среди цифр должна быть ровно одна цифра $6$, а остальные цифры должны быть нечётными. Максимальная подходящая восьмеричная запись — $776_8$.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 22 ЕГЭ, информатика

Задача из темы «Алгоритмы и исполнители»: в ней 432 задачи с ответом и разбором по шагам. В 22-м номере бланка — 101 задача.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.