Вопрос задан 27.09.2023 в 02:38. Предмет Информатика. Спрашивает Олялин Коля.

PYTHON 1.Напишите рекурсивную функцию для перевода числа из двоичной системы счисления в

десятичную. 2. Напишите рекурсивную функцию для перевода числа из десятичной системы счисления в шестнадцатеричную. 3.Напишите рекурсивную функции, вычисляющую НОД двух натуральных чисел с помощью алгоритма Евклида. ДАЮ 100 баллов!!! ПОМОГИТЕ!!язык программирования python
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Omar Adema.

Ответ:

смотри вложение


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам с написанием этих рекурсивных функций на Python. Давайте начнем с каждой из них по очереди.

  1. Функция для перевода числа из двоичной системы в десятичную:
python
def binary_to_decimal(binary_str): if binary_str == '0': return 0 elif binary_str == '1': return 1 else: # Разделяем строку на две части: старший бит и остальные биты most_significant_bit = int(binary_str[0]) rest_of_bits = binary_str[1:] # Рекурсивно переводим остальные биты в десятичную систему и складываем с текущим битом return most_significant_bit * (2 ** len(rest_of_bits)) + binary_to_decimal(rest_of_bits) # Пример использования: binary_number = "1101" decimal_number = binary_to_decimal(binary_number) print(f"Двоичное число {binary_number} в десятичной системе равно {decimal_number}")
  1. Функция для перевода числа из десятичной системы в шестнадцатеричную:
python
def decimal_to_hexadecimal(decimal_num): if decimal_num < 16: # Если число меньше 16, то просто возвращаем соответствующую цифру в шестнадцатеричной системе return '0123456789ABCDEF'[decimal_num] else: # Разделяем число на остаток и частное при делении на 16 remainder = decimal_num % 16 quotient = decimal_num // 16 # Рекурсивно переводим частное в шестнадцатеричную систему и добавляем остаток return decimal_to_hexadecimal(quotient) + '0123456789ABCDEF'[remainder] # Пример использования: decimal_number = 255 hexadecimal_number = decimal_to_hexadecimal(decimal_number) print(f"Десятичное число {decimal_number} в шестнадцатеричной системе равно {hexadecimal_number}")
  1. Функция для вычисления НОД с помощью алгоритма Евклида:
python
def euclidean_gcd(a, b): if b == 0: return a else: return euclidean_gcd(b, a % b) # Пример использования: num1 = 48 num2 = 18 gcd = euclidean_gcd(num1, num2) print(f"НОД чисел {num1} и {num2} равен {gcd}")

Эти функции решают ваши задачи и используют рекурсивный подход. Надеюсь, это поможет вам!

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос