Работа 3.4 Упр.16 Задание 3 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 16. Дано натуральное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-4/zad3/16 98
Нужно получить из цифр числа $$n$$ наибольшее возможное число. Для этого достаточно:
- разложить число на цифры;
- упорядочить цифры по убыванию;
- вывести получившееся число.
В программе цифры сначала записываются в массив, затем выполняется сортировка обменом по убыванию. После этого цифры выводятся в нужном порядке.
uses crt;
const m=8;
var n,i,b,c,p,k:integer;
a:array[1..m] of integer;
begin
readln(n);
b:=n;
k:=1;
repeat
c:=b mod 10;
a[k]:=c;
b:=b div 10;
inc(k);
until b=0;
repeat
p:=0;
for i:=1 to k-1 do
if a[i]<a[i+1] then
begin
p:=1;
a[i]:=a[i]+a[i+1];
a[i+1]:=a[i]-a[i+1];
a[i]:=a[i]-a[i+1];
end;
until p=0;
for i:=1 to k-1 do
write(a[i]);
end.
Программа корректно переставляет цифры числа так, чтобы получилось максимальное число из тех же цифр.
Ответ
Чтобы получить максимальное число, нужно отсортировать цифры исходного числа по убыванию и вывести их в этом порядке.