Вопрос по информатике:
Напишите код на c++
B. Чубакка и число
Люк Скайуокер дал Чубакке целое число x. Чубакка не особо разбирается в числах, но обожает инвертировать в них цифры. Инвертировать цифру t — значит заменить её на цифру 9 - t.
Помогите Чубакке из исходного положительного числа x получить минимальное положительное число, инвертировав некоторое (возможно, нулевое) количество цифр. Запись итогового числа не должна начинаться с нуля.
Входные данные
В первой строке содержится единственное целое число x (1 ≤ x ≤ 1018) — число, которое Люк Скайуокер дал Чубакке.
Выходные данные
Выведите ответ на задачу — минимально возможное положительное число, которое может получить Чубакка после инвертирования некоторых цифр. Число не должно содержать ведущих нулей.
Примеры
входные данныеСкопировать
27
выходные данные
22
входные данныеСкопировать
4545
выходные данные
4444
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 01.06.2016 11:54
- Информатика
- remove_red_eye 9889
- thumb_up 32
Ответы и объяснения 1
#include
using namespace std;
int main()
{
long long int n{ 0 }, z{ 0 };
while (cin >> n) {
size_t ans[120];
for (; n != 0; n = n / 10) {
int tmp = n % 10;
if (n / 10 != 0 || (n / 10 == 0 && n != 9)) {
tmp = min(tmp, 9 - tmp);
}
ans[z++] = tmp;
}
for (int i = z - 1; i >= 0; i--) {
cout << ans[i];
}
cout << endl;
}
return 0;
}
- 03.06.2016 00:25
- thumb_up 6
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.