Задано натуральное число n. Необходимо перевести его в k-ичную систему счисления - Free Pascal

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

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

Задано натуральное число n. Необходимо перевести его в k-ичную систему счисления и найти разность между произведением и суммой его цифр в этой системе счисления. Например, пусть n = 239, k = 8. Тогда представление числа n в восьмеричной системе счисления — 357, а ответ на задачу равен 3 × 5 × 7 − (3 + 5 + 7) = 90.

Решение задачи: «Задано натуральное число n. Необходимо перевести его в k-ичную систему счисления»

textual
Листинг программы
const a: array [0..35] of Char = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var
  n, p: Longint;
  k, d, s: Integer;
  b: String;
begin
  Write('N K: '); ReadLn(n,k); b:=''; p:=1; s:=0;
  repeat d:=n mod k; b:=a[d]+b; p:=p*d; s:=s+d; n:=n div k; until n=0;
  WriteLn('Число: ',b,'  Произведение: ',p,'  Сумма: ',s,'  Разность: ',p-s);
end.

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

  1. Объявлены переменные: n, p, k, d, s, b, a.
  2. Введен ввод данных с помощью ReadLn(n,k).
  3. Инициализирована переменная b пустой строкой.
  4. Инициализированы переменные p, s, d значением 1.
  5. Запущен цикл while, который выполняется до тех пор, пока n не станет равным 0.
  6. Внутри цикла вычисляется остаток от деления n на k (d).
  7. К строке b добавляется символ из массива a, соответствующий полученному остатку.
  8. Значение p умножается на d и сохраняется в переменной p.
  9. Значение s увеличивается на d.
  10. Число n делится на k.
  11. Цикл продолжается до тех пор, пока n не станет равным 0.
  12. Выводится сообщение с полученными значениями: b (число), p (произведение), s (сумма), (p-s) (разность).

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


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

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

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