Операнды арифметического выражения записаны в системе счисления с основанием 7.
В записи чисел переменной обозначена неизвестная цифра из алфавита 7-ричной системы счисления. Определите наименьшее значение
, при котором значение данного арифметического выражения в десятичной системе счисления кратно 91. Для найденного значения
вычислите частное от деления значения арифметического выражения на 91 и укажите его в ответе. Основание системы счисления в ответе указывать не нужно.
1 Способ:
alf = ’0123456’
for x in alf:
s1 = int(’1213’ + x + ’6’, 7)
s2 = int(’51’ + x + ’431’, 7)
s = s1 + s2
if s % 91 == 0:
print(s // 91)
2 Способ:
# в массив записываем цифры чисел, -1 обозначает x
s1 = [1, 2, 1, 3, -1, 6]
s2 = [5, 1, -1, 4, 3, 1]
# система счисления
ss = 7
# число, которому выражение должно быть кратно
k = 91
for x in range(ss):
# присваиваем соответствующим элементам массива значения
s1[4], s2[2] = x, x
sm1, sm2 = 0, 0
# переводим в 10-ю систему счисления
for j in range(len(s1)):
sm1 += s1[len(s1) - j - 1] * ss ** j
for j in range(len(s2)):
sm2 += s2[len(s2) - j - 1] * ss ** j
# проверяем кратность
if (sm1 + sm2) % k == 0:
print((sm1 + sm2) // k)