Сергей Абреев
В натуральном числе переставить цифры таким образом, чтобы получилось наибольшее число, записанное теми же цифрами.
Язык Си. Помогите плз.
Язык Си. Помогите плз.
Чтобы получить наибольшее число, записанное теми же цифрами, достаточно отсортировать цифры по убыванию.
Для этого нужно сделать так:
while (x > 0)
{
numbers[i++] = x % 10;
x = x / 10;
}
% - остаток от деления, / - деление нацело
для паскакаля соответственно синтаксис будет numbers := x mod 10 и x:=x div 10
затем сортируем массив numbers по возрастанию (цифры числа в нем записаны задом наперед!) , затем собираем обратно (numbers[0] + numbers[1] * 10 + numbers[2] * 100...), можно циклом