Заданы 2 значения натурального числа N(0<=N<=100000000), записанные в десятичной системе счисления с неизвестным основанием A(2<=A<=16). Написать программу на, которая определяет неизвестное основание системы счисления.

13 Янв 2020 в 19:42
150 +1
0
Ответы
1

Для решения этой задачи можно перебирать все возможные основания системы счисления от 2 до 16 и проверять, соответствуют ли заданные значения числа N этой системе счисления. Если находим подходящее основание, выводим его.

Вот пример кода на Python:

def convert_to_base(n, base):
result = []
while n > 0:
result.insert(0, n % base)
n = n // base
return result
def find_base(n1, n2):
for base in range(2, 17):
if convert_to_base(n1, base) == convert_to_base(n2, base):
return base
return None
n1 = int(input("Введите первое значение числа N: "))
n2 = int(input("Введите второе значение числа N: "))
base = find_base(n1, n2)
if base:
print("Основание системы счисления:", base)
else:
print("Не удалось определить основание системы счисления.")

Этот код принимает входные значения для двух чисел N, затем находит основание системы счисления, к которому они относятся. Если такое основание найдено, программа выводит его, в противном случае выводится сообщение об ошибке.

18 Апр 2024 в 20:27
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир