Форум сайта python.su
Готовлюсь к экзамену. Пишу код, но ответ не появляется. В чём ошибка и как исправить?
Само задание:
Запись числа 325 в системе счисления с основанием N содержит 3 цифры и оканчивается на 1. Чему равно минимально возможное основание системы счисления?
Код:
for i in range(6,100):
if (3*i**2 + 2*i + 5) % i == 1 and len(str(3*i**2 + 2*i + 5)) == 3:
print(min(i))
Подскажите, в чём ошибка
Офлайн
хз так?
test = 325 - 1 # округляем num = 1 # стартовое число num_cell = 3 - 1 # чисел while True: if not test - (num ** num_cell): print(f'num = {num}') break elif num > test: print("not") break num += 1
num = 18
Офлайн
Vlada3515Число 325 (в десятичной системе счисления) надо делить на основание системы счисления. По количеству делений и по значению последнего остатка от деления можно установить основание системы счисления, подходящее под критерии (три цифры в числе и последняя цифра - 1). Из этих подходящих оснований систем счисления надо выбрать минимальное.
Подскажите, в чём ошибка
Vlada3515А это просто туфта какая-то левая. Вот в чём ошибка.
Подскажите, в чём ошибкаfor i in range(6,100): if (3*i**2 + 2*i + 5) % i == 1 and len(str(3*i**2 + 2*i + 5)) == 3: print(min(i))
Отредактировано py.user.next (Сен. 6, 2021 21:42:26)
Офлайн
вот чую гангалием что не то кхм кхм короч 9 че то вроде 401 = 325
base = 1 while base <= 324: x = 324 / base if not x % 1: if ((base ** 3) - 1) + ((base ** 2) - 1) >= 324: print(base) break base += 1
Отредактировано AD0DE412 (Сен. 6, 2021 22:52:14)
Офлайн