1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.4 Упр.17 Задание 3 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.4 Упр.17 Задание 3 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 17. Дано натуральное число n. Переставить его цифры так, чтобы образовалось наименьшее число, записанное теми же цифрами. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-4/zad3/17 98

Подробный ответ

Чтобы получить наименьшее число из тех же цифр, нужно выписать цифры исходного числа по возрастанию. В программе это делается так: последовательно перебираются цифры от $$0$$ до $$9$$, и каждый раз из числа выбираются все цифры, равные текущей.

Если очередная цифра $$k$$ встречается в числе, то она дописывается к результату $$m$$ по формуле $$m=m\cdot 10+k$$. После этого цифра удаляется из числа делением на $$10$$, и поиск продолжается, пока все цифры не будут просмотрены.

uses crt;
var n,m,a,p,k,i: integer;
begin
  repeat
    writeln(‘Введите натуральное число до 2 147 483 647’);
    read(n);
  until (n>0) and (n<2147483647);
  a:=n; m:=0;
  for i:=0 to 9 do {начиная с 0 ищем в числе цифры по возрастанию}
  begin
    p:=n; {запоминаем число}
    while p>0 do
    begin
      k:=p mod 10; {ищем цифру 0..9}
      if k=i then m:=m*10+k; {если есть, то дописываем цифру к результату}
      p:=p div 10; {сокращаем число на 10 и повторяем пока не проверим все цифры}
    end;
  end;
  writeln(‘M=’,m);
end.

Ответ: программа переставляет цифры числа по возрастанию и выводит наименьшее число, составленное из тех же цифр.



Общая оценка
4.6 / 5
Другие учебники
Другие предметы