Задание 5. Информатика. ЕГЭ. Поляков-145
- Просмотры: 106
- Изменено: 25 ноября 2024
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
- Перемножаются первая и вторая, а также вторая и третья цифры.
- Полученные два числа записываются друг за другом в порядке неубывания без разделителей.
Пример. Исходное число: \(631\). Произведение: \(6\cdot 3 = 18\); \(3 \cdot 1 = 3\). Результат: \(318\). Укажите наибольшее число, при обработке которого автомат выдаёт результат \(621\).
Решение:
C++
#include<iostream>
#include<string>
using namespace std;
int32_t main() {
for (int N = 999; N > 99; N--) {
string s, ans;
int p0, p1;
s = to_string(N);
p0 = (s[0] - '0') * (s[1] - '0');
p1 = (s[1] - '0') * (s[2] - '0');
ans = (p0 < p1) ? to_string(p0) + to_string(p1) : to_string(p1) + to_string(p0);
if (stoi(ans) == 621) {
cout << N << '\n';
break;
}
}
}
Ответ: \(732\)