Вывести в убывающем порядке цифры, которые входят в запись данного длинного целого числа только один раз - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

б. Вывести в убывающем порядке цифры, которые входят в запись данного длинного целого числа только один раз.

Решение задачи: «Вывести в убывающем порядке цифры, которые входят в запись данного длинного целого числа только один раз»

textual
Листинг программы
var n:longint;
    a:array[0..9] of byte;
    i:byte;
begin
    write('n = ');readln(n);
    for i:=0 to 9 do a[i]:=0;
    while n>0 do 
     begin
      inc(a[n mod 10]);
      n:=n div 10
     end;
    for i:=9 downto 0 do if a[i]=1 then write(i,' ')
end.

Объяснение кода листинга программы

  1. Переменная n представляет собой длинное целое число, которое нужно разбить на цифры.
  2. Переменная a представляет собой массив байтов, который будет использоваться для хранения цифр.
  3. Переменная i представляет собой байт, который будет использоваться для итерации по массиву a.
  4. В цикле while происходит следующее:
    • Инкрементируется значение a[n mod 10], что увеличивает значение последней цифры числа n.
    • n делится на 10, что позволяет получить следующую цифру числа.
    • Цикл продолжается до тех пор, пока n не станет равным нулю.
  5. В конце цикла выводится последняя цифра числа, если она равна 1.
  6. Код использует арифметическую операцию mod для получения остатка от деления, что позволяет получить последнюю цифру числа.
  7. Код не использует вложенные списки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.5 из 5
Похожие ответы