'''
Данное задание на понимание систем счисления. Давайте загонять в python
'''


print('>>>>>>')
# 3512 К.Ю.Поляков
'''
Значение выражения 7**202 + 49**102 – 7**20 записали в семеричной системе счисления. Сколько цифр 6 в такой записи? 
'''

x = 7 ** 202 + 49 ** 102 - 7 ** 20
# print(x)
# '**' - возведение в степень(питон)

# алгоритм(ы) перевода в другую систему счисления

d = []
while x != 0:
    d.append(x % 7)
    x //= 7
d = d[::-1]  # переворачиваем массив, в некоторых задачах требуется!
# print(d)
print(d.count(6))




print('>>>>>>>')
# 3561
'''
Какая первая цифра в шестнадцатеричной записи числа 2**1024 + 2**1025? 
'''

y = 2 ** 1024 + 2 ** 1025


def f(x, cc):
    x_c = ''
    while x:
        x_c += str(x % cc)
        x //= cc
    x_c = x_c[::-1]  # спросили про первую цифру, а вы не повернули число? - балл
    return x_c


number = f(y, 16)
print(number[0])






print('>>>>>>>>')
# 3557 К.Ю.Поляков
'''
Решите уравнение 103x + 11 = 103x+1. Ответ запишите в десятичной системе счисления. P.S. смотрите условие на сайте
'''

for num in range(3, 10):  # почему от 3? потому что есть запись 121, 2 может быть только от троичной сс
    if int('121', num) + 1 == 82:
        print(num)
# print(int('121', 8))

for num_2 in range(3, 10):
    if (1 * num_2 ** 0) + (2 * num_2 ** 1) + (1 * num_2 ** 2) + 1 == (1 * 9 ** 0) + (0 * 9 ** 1) + (1 * 9 ** 2):
        # num_2 ** 0 == 1, num_2**1 == num_2,                       1 + 0 + 82
        if 1 + (2 * num_2) + num_2 ** 2 + 1 == 82:
            print(num_2)







print('>>>>>>>>')
# 3558 К.Ю.Поляков
'''
Решите уравнение 101x + 13 = 101x+1. Ответ запишите в десятичной системе счисления. 
'''
for t in range(2, 10):
    if int('101', t) + 13 == int('101', t + 1):
        print(t)






        

print('>>>>>>>>')
# 3564 К.Ю.Поляков
'''
Некоторое число X из десятичной системы счисления перевели в системы счисления с основаниями 16, 8. 
Часть символов при записи утеряна. Позиции утерянных символов обозначены символом *:

X = *E16 = 2*68 .  PS. https://i.imgur.com/Ssr8lD9.png  описание задачи

Сколько чисел соответствуют условию задачи? 
'''

# Почему такие диапазоны? Давайте посмотрем на открывки чисел. https://i.imgur.com/CjocAaG.png

# print(int('200', 8)) #16 c.c. входит в этот промежуток
# print(int('300', 8))

count = 0
for u in range(128, 192):
    if u % 16 == 14 and u % 8 == 6:  # 'E' - 14
        count += 1
print(count)



print('>>>>>>>>>>>>>')
print('🤡')
print('Прикол')


print(f'{140:b}') #форматирование строки. на выходе строка, 140:b, b - bin
print(f'{140:o}')
#print(f'{140:h}') убери коммент и узнай что там


print('#')
print(bin(140)[2:])
print(oct(140)[2:])
print(hex(140)[2:])




