Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Значение выражения 64^12–8^14+x записали в 8 сс, при этом в записи оказалось 12 цифр 7 и одна 1. Какой минимальный Х?

Никита Таранов Ученик (203), открыт 4 дня назад
#Х - натуральный, снизу мое решение, но пожалуйста, не
#пишите свое полностью другое решение, а помогите найти ошибку в моем
a = 64**12 - 8**14
x = 0
s = 0
v = 0
while not(s == 12 and v == 1):
x += 1
a += x
o = oct(a)
s = o.count('7')
v = o.count('1')
print(x)
2 ответа
Sergio 2.1 Оракул (67269) 4 дня назад
 a0 = 64**12 - 8**14 
x = 0
while True:
x += 1
a = a0 + x
o = oct(a)[2:] # Убираем префикс '0o'
s = o.count('7')
v = o.count('1')
if s == 12 and v == 1:
break
print(x)
Максим Асоев Ученик (233) 4 дня назад
def count_digits_in_octal(num, digit):
"""Возвращает количество вхождений цифры digit в восьмеричном представлении числа num."""
return oct(num).count(str(digit))

a = 6412 - 814
x = 0

# Ищем минимальное значение x
while True:
x += 1
current_value = a + x
count_7 = count_digits_in_octal(current_value, 7)
count_1 = count_digits_in_octal(current_value, 1)

# Проверяем условия
if count_7 == 12 and count_1 == 1:
break

print(x)
Похожие вопросы