Цель: Понять
- В данном фрагменте алгоритма переменные a и b являются результатами деления переменной x на 10 и нахождения остатка от деления x на 10 соответственно.
- Затем у нас есть две переменные s и p, которые инициализируются нулем и единицей соответственно.
- Далее, мы проверяем, является ли число a четным (то есть делится на 2 без остатка). Если да, то мы прибавляем a к s, иначе умножаем a на p.
- После этого, аналогично проверяем число b на четность. Если да, то мы прибавляем b к s, иначе умножаем b на p.
- Нам дано условие, что после выполнения фрагмента алгоритма s должно равняться 12, а p должно равняться 1.
Решение:
Давайте подставим значения a и b в соответствии с условиями и сделаем соответствующие действия:
- Для четного числа a: s := s + a
- Для нечетного числа a: p := p * a
- Для четного числа b: s := s + b
- Для нечетного числа b: p := p * b
Поскольку у нас задача найти наибольшее двузначное число, подходящее для данного фрагмента с результатами s = 12 и p = 1, давайте начнем с наибольшего двузначного числа, которое удовлетворяет этим условиям.
Попробуем наибольшее двузначное число - 99:
- Применяем алгоритм: a = 99 mod 10 = 9 b = 99 div 10 = 9 s = 0, p = 1 Проверяем a: a нечетное, поэтому p = 1 * 9 = 9 Проверяем b: b нечетное, поэтому p = 9 * 9 = 81 Мы видим, что при вводе 99 результаты s и p не равны 12 и 1 соответственно.
Попробуем следующее наибольшее двузначное число - 98:
- Применяем алгоритм: a = 98 mod 10 = 8 b = 98 div 10 = 9 s = 0, p = 1 Проверяем a: a четное, поэтому s = 0 + 8 = 8 Проверяем b: b нечетное, поэтому p = 1 * 8 = 8 Таким образом, при вводе 98, результаты s = 8 и p = 8.
Последнее двузначное число, которое остается - 97:
- Применяем алгоритм: a = 97 mod 10 = 7 b = 97 div 10 = 9 s = 0, p = 1 Проверяем a: a нечетное, поэтому p = 1 * 7 = 7 Проверяем b: b нечетное, поэтому p = 7 * 9 = 63 Мы видим, что при вводе 97 результаты s = 7 и p = 63.
Таким образом, чтобы после выполнения данного фрагмента алгоритма s = 12 и p = 1, необходимо ввести наибольшее двузначное число 98.