
Вопрос задан 17.07.2023 в 13:54.
Предмет Информатика.
Спрашивает Кожуренко Ангелина.
Задача: Напишите рекурсивную процедуру, которая переводит число из десятичной системы счисления в
восьмеричную систему. Помогите решить этот алгоритм рекурсивно(без циклов) def printOct(n): global b b = '' while n > 0: b = str(n % 8) + b n = n // 8 return b n = int(input()) print(printOct(n))

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

Отвечает Шустров Никита.
Ответ:
a=[]
def printOct(n):
n1=n%8
a.append(n1)
n//=8
if n>0:
printOct(n)
n=int(input())
printOct(n)
s=""
for i in range(len(a)):
s=s+str(a[i])
print(s)



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно, я могу помочь вам решить эту задачу рекурсивно. Вот рекурсивная процедура, которая переводит число из десятичной системы счисления в восьмеричную:
pythondef decimal_to_octal(n):
if n == 0:
return '0'
elif n < 0:
return '-' + decimal_to_octal(-n)
elif n < 8:
return str(n)
else:
return decimal_to_octal(n // 8) + str(n % 8)
n = int(input("Введите число в десятичной системе: "))
octal = decimal_to_octal(n)
print("Число в восьмеричной системе: " + octal)
Эта рекурсивная процедура decimal_to_octal
принимает число n
и возвращает его представление в восьмеричной системе. Она использует следующую логику:
- Если число
n
равно 0, возвращаем строку '0'. - Если число
n
отрицательное, возвращаем знак минус и результат применения рекурсивной процедуры к абсолютному значениюn
. - Если число
n
меньше 8, возвращаем его строковое представление. - Иначе, рекурсивно вызываем процедуру
decimal_to_octal
дляn // 8
(целая часть от деленияn
на 8) и конкатенируем с остатком от деленияn
на 8, преобразованным в строку.
Пример использования:
Введите число в десятичной системе: 42 Число в восьмеричной системе: 52
Пожалуйста, обратите внимание, что эта рекурсивная процедура может обрабатывать отрицательные числа и возвращает строковое представление числа в восьмеричной системе.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 47

Информатика 33

Информатика 67

Информатика 18

Информатика 25

Информатика 563

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