На вход программке поступает натуральное число не превышающее 10^30 Нужно написать
На вход программке поступает естественное число не превышающее 10^30 Нужно написать программку, которая, используя все цифры этого числа, формирует новое естественное число, причем самое маленькое из всех вероятных той же разрядности. На любом языке (лучше окончательно на C++ или Pascal ABC)
Задать свой вопросПосчитаем количество раз, когда встречается любая цифра в начальном числе. Тогда ответ или все числа, расположенные в порядке возрастания (если в начальном числе не было нулей), либо поначалу одна наименьшая цифра, потом все нули, позже все остальные числа в порядке возрастания.
С++:
include lt;iostreamgt;
int main()
int count[10];
char digit;
for (digit = 0; digit lt; 10; digit++)
count[digit] = 0;
while (std::cin.get(digit))
digit -= '0';
if ((digit lt; 0) (digit gt; 9))
break;
count[digit]++;
digit = 1;
while (count[digit] == 0)
digit++;
std::cout lt;lt; int(digit);
count[digit]--;
for (digit = 0; digit lt; 10; digit++)
for (int i = 0; i lt; count[digit]; i++)
std::cout lt;lt; int(digit);
return 0;
Пример ввода: 11111111112345678098765422
Пример вывода: 10111111111222344556677889
-
Вопросы ответы
Статьи
Информатика
Статьи
Химия.
Русский язык.
Геометрия.
Физика.
Русский язык.
Химия.
Математика.
География.
Литература.
Разные вопросы.