Задание 5. Информатика. ЕГЭ. Поляков-1725
- Просмотры: 77
- Изменено: 24 ноября 2024
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
- Из цифр, образующих десятичную запись \(N\), строятся наибольшее и наименьшее возможные двузначные числа (числа не могут начинаться с нуля).
- На экран выводится разность полученных двузначных чисел.
Пример. Дано число \(N = 351\). Наибольшее двузначное число из заданных цифр — \(53\), наименьшее — \(13\). На экран выводится разность \(53 - 13 = 40\).
Чему равно наибольшее возможное трёхзначное число \(N\), в результате обработки которого на экране автомата появится число \(50\)?
Решение:
C++
#include<iostream>
#include<algorithm>
using namespace std;
int32_t main() {
for(int N = 999; N > 99; N--) {
int min_n, max_n;
int nums[3] = {N % 10, N / 10 % 10, N / 100};
sort(nums, nums+3);
max_n = nums[2] * 10 + nums[1];
if(nums[0])
min_n = nums[0] * 10 + nums[1];
else if (nums[1])
min_n = nums[1] * 10;
else
min_n = nums[2] * 10;
if (max_n - min_n == 50) {
cout << N << '\n';
break;
}
}
}
Ответ: \(994\)