Форум » Выполнение и анализ алгоритмов для исполнителей » задание 5322. Огромная просьба помочь разобраться. » Ответить

задание 5322. Огромная просьба помочь разобраться.

gleb_loh: (А. Богданов) Значение выражения (7^(9^2-1) –(10-3)^4-(234 в 7сс)) * 5 / 6 * 8 записали в системе счисления с основанием 7. Сколько цифр 4 в этой записи? Смог решить этот номер не учитывая 234 в 7 сс, немного помогая питоном, но в основном руками. Количество четверок равно ответу, но нужно тогда доказать что 234 в 7сс (*5/6)*8 не имеет четверок. Как это сделать? Знаю, что можно как то решить этот номер полностью на питоне, но не совсем понимаю как. Вот мое не самое изящное решение(весь текст из пайчарма для удобности): #55 в 7 сс = 40 в 10 сс #11111111111......111110000 в 7 сс * 55 в 7 сс = def f(n): # 1111111111....111111111110000 в 7 сс s="" # * while n!=0: # 55 в 7 сс s=str(n%7)+s # ----------------------------------- n=n//7 # 55555555555555555555555550000 return s # + # 55555555555555555555555550000 #------------------------------------ # 644444444444444444444444350000 print(f(7**80).count("0")) print("7**80 в 7 сс= 1 и 80 нулей:",f(7**80),sep=" ") print("7**4 в 7 сс= 1 и 4 нулей:",f(7**4),sep=" ") print("7**80-7*4 в 7 сс=76 шестерок и 4 нуля:",f(7**80-7*4),sep=" ") print("(7**80-7*4) в 7сс /(6 в 7 сс)=76 единиц и 4 нуля") print("((7**80-7*4)/6) в 7 сс умножить на 55= 6 74 четверки 35 0000") print("число 234 в 7 сс ")

Ответов - 3

gleb_loh: то,что после решетки это я руками считал

gleb_loh: то,что после решетки это я руками считал

Ж: f=lambda n: f(n//7)+str(n%7) if n>0 else '' print(f((7**80- 7**4 + int('234',7))*5*8//6).count('4')) Выводит: 644444444444444444444444444444444444444444444444444444444444444444444444444352251 237 из семеричной сс перевести можно либо int('237',7) , либо 2*7**2 + 3*7 + 7 И важно сначала умножить на 8, а потом делить на 6 (нацело) Перевести в семеричную можно в Excel с помощью функции Основание (число; 7)




полная версия страницы