Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления - Turbo Pascal
Формулировка задачи:
Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления, не использующую в своей работе массив.
Входные данные
На вход программе сначала подается значение P (1P10), а во второй строке — десятичное число.
Выходные данные
Вывод осуществляйте следующим образом: сначала выведите введенное число в десятичной системе счисления, за ним укажите его систему счисления в круглых скобках, то есть (10), затем ставится знак "=" и аналогично выводится результат работы вашей программы — число в P-ичной системе счисления. Весь вывод осуществляется без пробелов.
Примеры
входные данные
3
123
выходные данные
123(10)=11120(3)
Решение задачи: «Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления»
textual
Листинг программы
procedure perevod(n, base : integer); begin if n<base then Write(n) else begin Perevod(n div base, base); Write(n mod base) end; end; var p, n : integer; begin p:=3; n:=123; Write(n,'(10)='); Perevod(n,p); WriteLn('(',p,')'); end.
Объяснение кода листинга программы
- В начале объявляются две переменные: p и n, которые имеют тип integer.
- Переменная p инициализируется значением 3.
- Переменная n инициализируется значением 123.
- Выводится значение переменной n с помощью функции Write, без кавычек.
- Затем вызывается рекурсивная процедура Perevod с двумя аргументами: n и p.
- В условии if используется оператор div для деления n на p и получения частного. Затем результат сравнивается с base. Если частное меньше base, то выводится значение n с помощью функции Write, иначе выполняется рекурсивный вызов процедуры Perevod с новыми значениями n и p.
- После рекурсивного вызова выводится остаток от деления n на base с помощью функции Write.
- В конце программы выводится символ конца строки Ln с помощью функции WriteLn.
- Код завершается после вывода символа конца строки Ln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д