Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в заданную систему счисления с любым основанием от 2 до 36. используйте процедуру. входные данные входная строка содержит целое число n и основание системы счисления b , разделённые пробелом. гарантируется, что 2 ≤ b ≤ 36 . выходные данные программа должна вывести представление переданного её числа n в системе счисления с основанием b . при записи чисел в системах с основанием большим 10 используются прописные латинские буквы.
примеры
входные данные
13 3
выходные данные
111
входные данные
-34 18
выходные данные
-1g

MoonLoveYou MoonLoveYou    1   12.10.2019 19:10    168

Ответы
enikolaenko81 enikolaenko81  10.10.2020 06:13
Function dname(n: integer ): string;
var s: string;
begin
if n>9 then s:=char(ord(n+55))
else str(n,s);
dname:=s;
end;
function revstr(a: string ): string;
var b: string;
i: integer;
begin
b:='';
for i:=length(a) downto 1 do b:=b+a[i];
revstr:=b;
end;
procedure oprss(x,a: integer; c: string );
var s: string;
begin
s:='';
while x<>0 do begin
s:=s+dname(x mod a);
x:=x div a;
end;
s:=revstr(s);
insert(c,s,1);
write(s);
end;
var n,b: integer;
begin
readln(n,b);
if n>=0 then oprss(n,b,'') else oprss(-n,b,'-');
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика