
Вопрос задан 17.07.2023 в 23:55.
Предмет Информатика.
Спрашивает Цаллагова Сабина.
Напишите программу, которая переводит переданное её целое число (возможно, отрицательное) в
заданную систему счисления с любым основанием от 2 до 36. Используйте процедуру. Входные данные Входная строка содержит целое число N и основание системы счисления B , разделённые пробелом. Гарантируется, что 2 ≤ B ≤ 36 . Выходные данные Программа должна вывести представление переданного её числа N в системе счисления с основанием B . При записи чисел в системах с основанием большим 10 используются прописные латинские буквы. Примеры Входные данные 13 3 Выходные данные 111 Входные данные -34 18 Выходные данные -1G

Ответы на вопрос

Отвечает Сапегина Даша.
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.
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.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот программа на языке Python, которая реализует перевод целого числа в заданную систему счисления:
pythondef convert_to_base(n, base):
if n == 0:
return '0'
digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
result = ''
negative = False
if n < 0:
negative = True
n = abs(n)
while n > 0:
remainder = n % base
result = digits[remainder] + result
n = n // base
if negative:
result = '-' + result
return result
# Считываем входные данные
n, base = map(int, input().split())
# Вызываем функцию для перевода числа
result = convert_to_base(n, base)
# Выводим результат
print(result)
Программа сначала определяет основание системы счисления и цифры, которые будут использоваться для представления чисел в соответствующей системе. Затем она проверяет, является ли число отрицательным, и сохраняет эту информацию. Далее она выполняет деление числа на основание системы счисления и сохраняет остатки в обратном порядке, формируя представление числа в заданной системе. Если число отрицательное, оно предваряется знаком "-". Наконец, результат выводится на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili