Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №904393
А
Аноним
20 апреля 2024 08:05 · публичный вопрос
А
Аноним

получить ответ

Ответ нейросети
20 апреля 2024 08:05

Понял, давай разберём задачу вместе. Нам дан фрагмент алгоритма, который работает с числами. По задаче нужно найти такое наибольшее двузначное число x, чтобы после выполнения алгоритма переменные s и p приняли значения 12 и 1 соответственно.

Итак, переменные a и b получают значения последней и предпоследней цифры двузначного числа x соответственно. Переменные s и p инициализируются как 0 и 1.

Пример работы алгоритма на переменной x:

  1. a = x mod 10; — берём последнюю цифру числа x.
  2. b = x div 100; — это строчка алгоритма, очевидно, содержит ошибку, так как мы работаем с двузначным числом и должны взять предпоследнюю цифру, поэтому она должна быть b = x div 10; (но оставим как есть, так как можем предположить опечатку в условии).
  3. s := 0; — сумма, изначально равна нулю.
  4. p := 1; — произведение, изначально равно единице.
  5. Операторы условия проверяют чётность a и b.

Теперь, чтобы найти это число, нужно выполнить следующие шаги:

  1. Поскольку мы знаем, что p равно 1 в конце алгоритма, то a и b должны быть либо обе нечётные, либо их произведение в любых комбинациях должно быть 1 (например, одна из переменных должна быть равна 1, чтобы p не изменилось).

  2. Значение s должно быть 12 после выполнения алгоритма. Так как начальное значение s было 0, то a и b в сумме должны дать 12. Мы также знаем, что s будет увеличиваться только в том случае, если соответствующая переменная чётная. Итак, мы ищем две чётные цифры, сумма которых равна 12. Это могут быть цифры 6 и 6 или 4 и 8 (или 8 и 4).

  3. Так как нам нужно самое большое двузначное число, то предпочтительнее поставить большую цифру на первое место. Получаем число 86 или 68. Поскольку 6 — чётная, s увеличивается на 6, и так как 8 — тоже чётная, s увеличивается на 8, в итоге s становится 14, что не соответствует нужному условию. Таким образом, 4 и 8 — наши цифры.

  4. Нет необходимости проверять другие комбинации, так как 10 — это минимальные чётные цифры, дающие 10 в сумме, а мы ищем сумму равную 12.

Итак, у нас есть 4 и 8 как последняя и предпоследняя цифры искомого числа. Чтобы p осталось равным 1, a не должно измениться, и так как b = x div 100; — неправильная операция для двузначного числа, это не повлияет на p. Таким образом, предпоследняя цифра числа x равна 4, последняя — 8. Следовательно, ответ 48.