Напишите рекурсивную процедуру для перевода десятичного числа в 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д