Значение выражения 8117 + 324 – 45 записали в системе счисления с основанием 9. Сколько цифр 8 содержится в этой записи?
Т.к. теперь разрешено пользоваться компьютером предлагаю решать эти задачи с помощью Phyton. Решать будем на примере статградовского задания.
a=8**17+3**24-45 (в этой строчке записываем выражение, ** означает степень)
count=0 (это счетчик, который будет считать нужные нам цифры. Эта строчка не меняется)
while a>0: (эта строчка тоже не меняется, она значит, что цикл работает пока наше число больше 0)
if a%9==8: ( вначале строки должна быть табуляция. вместо 9 пишем основание, а вместо восьмерки -какие цифры нужно сосчитать)
count+=1 (если нашлась нужная цифра счетчик увеличиваем на 1)
a=a//9 (делим число на основание)
Print (count)
По этому алгоритму можно решать любые подобные задачи.
Показать решение
a=81**17+3**24-45
count=0
while a>0:
if a%9==8:
count+=1
a=a//9
print(count)
Ответ:10
Значение выражения 2165 + 63 – 1 – X записали в системе счисления с основанием 6, при этом в записи оказалось 12 цифр 5. При каком минимальном целом положительном X это возможно?
Показать решение
for i in range(999):
count=0
a=216**5+6**3-1-i
while a>0:
if a%6==5:
count+=1
a=a//6
if count==12:
print(i)
Ответ:259
Значение выражения 3435 + 73 – 1 – X записали в системе счисления с основанием 7, при этом в записи оказалось 12 цифр 6. При каком минимальном целом положительном X это возможно?
Показать решение
for i in range(999):
count=0
a=343**5+7**3-1-i
while a>0:
if a%7==6:
count+=1
a=a//7
if count==12:
print(i)
break
Ответ:400
Значение арифметического выражения: 97 + 321 – 19 записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи?
Показать решение
count = 0
a = 9 ** 7 + 3 ** 21 - 19
while a > 0:
if a % 3 == 2:
count +=1
a = a // 3
print (count)
Ответ:13
Значение выражения 7297 + 316 – 18 записали в системе с основанием 9 Сколько раз в этой записи встречается цифра 0?
Показать решение
a = 729 ** 7 + 3 ** 16 - 18
count = 0
while a > 0:
if a % 9 == 0:
count += 1
a = a // 9
print(count)
Ответ: 14
Решите уравнение: 10xyx6 = y11x7, где x и y — неизвестные разряды. В ответе укажите сумму найденных значений переменных.
Показать решение
for x in range(6):
for y in range(6):
a = '1' + '0' + str(x) + str(y) + str(x)
b = str(y) + '1' + '1' + str(x)
if int(a, 6) == int(b, 7):
print(x + y)
Ответ: 7
Значение арифметического выражения N25 — 2N13 + 10 записали в системе счисления с основанием N. Определите основание системы счисления, если известно, что сумма разрядов в числе, представленном в этой системе счисления, равна 75?
Показать решение
summ = 0
for N in range(2,100):
summ = 0
a = N**25 - 2*N**13 + 10
while a > 0:
summ += a % N
a = a // N
if summ == 75:
print(N)
Ответ: 7
При каком наименьшем натуральном значении переменной x в выражении 3617 – 6x + 71 сумма цифр в шестеричной записи числа равна 61?
Показать решение
for x in range(100):
summ = 0
a = 36**17 - 6**x + 71
while a > 0:
summ += a % 6
a = a // 6
if summ == 61:
print (x)
break
Ответ: 24
Запись числа 67 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Укажите основание этой системы счисления N.
Показать решение
for N in range(2,10):
count = 0
mas = []
a = 67
while a > 0:
mas.append(a % N)
count +=1
a = a // N
if count == 4 and mas[0] ==1:
print (N)
else:mas = []
Ответ: 3
В системе счисления с основанием N запись числа 87 оканчивается на 2 и содержит не более двух цифр. Чему равно число N? Если у задачи есть несколько решений, выберите наименьшее.
Показать решение
for N in range(3,100):
count = 0
mas = []
a = 87
while a > 0:
mas.append(a % N)
count +=1
a = a // N
if count <= 2 and mas[0] ==2:
print (N)
else:mas = []
Ответ: 17
Чему равно наименьшее основание позиционной системы счисления x (x>1), при котором 225x = 405y? Ответ записать в виде целого числа.
Показать решение
for x in range(6,30):
for y in range(6,30):
if int('225',x) == int('405',y):
print(x,y)
Ответ: 8
Значение выражения 6411 – 410 + 96 – x записали в четверичной системе счисления, при этом сумма цифр в записи оказалась равной 71. При каком минимальном натуральном x это возможно?
Показать решение
count = 0
for x in range(1,300):
a = 64**11 - 4**10 + 96 - x
while a > 0:
count += a % 4
a = a // 4
if count == 71:
print(x)
break
else:count = 0
Ответ: 16