Тема 14. Системы счисления

14.01 Арифметические выражения

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела системы счисления
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#5443

Сколько цифр, отличных от нуля, в четверичной записи числа 243 + 214 + 2  ?

Показать ответ и решение

Решение Python:

a = 2**43 + 2**14 + 2
# Перевод выражения в 4сс
s = ’’
while a > 0:
    s = str(a % 4) + s
    a //= 4
s1 = int(s)
count = 0
# Подсчет количества цифр, отличных от нули
while s1 > 0:
    if s1 % 10 != 0:
        count += 1
    s1 //= 10
print(count)

Решение руками:

Переведём данную сумму в удобную форму для основания 4 нашей системы счисления:

243 + 214 + 2

21 ⋅ 242 + 22⋅7 + 2

2 ⋅ 22⋅21 + (22)7 + 2

    2 21    7
2 ⋅ (2 ) + 4 + 2

2 ⋅ 421 + 1 ⋅ 47 + 2 ⋅ 40

Соответственно, число имеет вид 200..010..024   , где 2 стоит в первом разряде, 1 стоит в восьмом разряде, и 2 стоит в 22 разряде. Таким образом, ровно три цифры отличны от нуля в четверичной записи данного числа.

Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 2#5812

Сколько четверок содержится в пятеричной записи числа 514 + 253 − 117?

 

Показать ответ и решение

Решение аналитически

Для начала стоить отметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A:           --n--
An   = 1 ◜00◞.◟..00◝0
  10            A
Так как нас просят узнать количество четверок в пятеричной системе, представим все числа как степени пятерки, а 117, поскольку оно не является степенью пятерки, переведем в пятеричную систему счисления, получим:
514 + 253 − 117 = 514 + (52)3 − (4 ⋅ 52 + 3 ⋅ 51 + 2 ⋅ 50) = 514 + 56 − 432.
Для начала выполним сложение:

 +  10...000..000
--------1000000---
  1 0...01000000
    ◟◝7◜◞

Вычтем из полученного 432:

         ⋅44444 5
 − 10...01000000
-------------432---
    10...0 444013
     ◟◝◜8◞

Примечание: при вычитании в недесятичной системе счисления, мы занимаем не “десяток”, а само основание системы счисления. В данном примере из второй единицы(она стоит в 6 разряде) мы занимаем пять в соседний разряд, и затем из полученной “пятерки” занимаем в следующий разряд, таким образом продолжая до последней цифры.

Решение программой

def transfer_to_5(x):
    s = ’’
    while x != 0:
        s = str(x % 5) + s
        x //= 5
    return s


print(transfer_to_5(5**14 + 25**3 - 117).count(’4’))

Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 3#6181

Сколько четверок содержится в пятеричной записи числа 2520 + 515 − 1253   ?

Показать ответ и решение

Решение Python:

a = 25**20 + 5**15 - 125**3
# Перевод выражения в 5сс
s = ’’
while a > 0:
    s = str(a % 5) + s
    a //= 5
print(s.count(’4’))

Решение руками:

Приведем к общему основанию:

540 + 515 − 59

Переведем в пятиричную систему счисления и получим:

10◟00.◝.◜.000◞+1 0◟00..◝.◜000◞− 1 0◟00.◝..◜000◞
     40           15          9

          10◟00.◝.◜.000◞001 0◟00.◝..◜000◞
               22           15
        -             1 000...000
                        ◟--◝◜9--◞
--1000...000-0004444440--000...000---
   ◟--◝◜ --◞            ◟--◝◜--◞
       22                    8
Ответ: 6

Ошибка.
Попробуйте повторить позже

Задача 4#6182

Сколько пятерок содержится в шестеричной записи числа 62020 + 3634 − 21612   ?

Показать ответ и решение

Решение Python:

a = 6**2020 + 36**34 - 216**12
# Перевод выражения в 6сс
s = ’’
while a > 0:
    s = str(a % 6) + s
    a //= 6
print(s.count(’5’))

Решение руками:

Приведем к общему основанию:

62020 + 668 − 636

Переведем в шестиричную систему счисления и получим:

10◟00.◝.◜.000◞+1 0◟00..◝.◜000◞− 1 0◟00.◝..◜000◞
    2020          68          36

              10◟00..◝.◜000◞01 0◟00.◝.◜.000◞
                  1950         68
            -             1000...000
                           ◟--◝◜36---◞
--1-000...000-00555...55500-000...000---
    ◟--◝◜--◞   ◟---◝◜--◞   ◟--◝◜---◞
       1950         32          36
Ответ: 32

Ошибка.
Попробуйте повторить позже

Задача 5#6183

Сколько значащих нулей содержится в троичной записи числа 9215 + 2765 − 814   ?

Показать ответ и решение

Решение Python:

a = 9**215 + 27**65 - 81**4
# Перевод выражения в 3сс
s = ’’
while a > 0:
    s = str(a % 3) + s
    a //= 3
print(s) # Убеждаемся, что нет незначащих нулей
print(s.count(’0’))

Решение руками:

Приведем к общему основанию:

 430    195    16
3   + 3   − 3

Переведем в троичную систему счисления и получим:

10◟00.◝.◜.000◞+1 0◟00..◝.◜000◞− 1 0◟00.◝..◜000◞
    430         195          16

         1 000...000 1000...000
           ◟--◝◜---◞ ◟---◝◜--◞
        -     234   10001.9.5.000
                     ◟---◝◜--◞
-------------------------16-----
  1 0◟00..◝.◜000◞2◟22..◝.◜222◞0◟00..◝.◜000◞
       235       179       16
Ответ: 251

Ошибка.
Попробуйте повторить позже

Задача 6#6184

Значение арифметического выражения:

96 + 818 − 32

— записали в системе счисления с основанием 9. Сколько значащих цифр «0» содержится в этой записи?

Показать ответ и решение

Решение Python:

a = 9**6 + 81**8 - 32
# Перевод выражения в 9сс
s = ’’
while a > 0:
    s = str(a % 9) + s
    a //= 9
print(s) # Убеждаемся, что нет незначащих нулей
print(s.count(’0’))

Решение руками:

Приведем к общему основанию:

 16   6
9  + 9  − 32

Переведем в девятиричную систему счисления и получим:

10◟00.◝.◜.000◞+1000000  − 35
     16

  1 000...000 1000000
 -  ◟--◝◜--◞
        9         35
-----------------------
  1 0◟00.◝..◜000◞ 0888854
        9
Ответ: 10

Ошибка.
Попробуйте повторить позже

Задача 7#6185

Сколько значащих нулей содержится в записи числа в системе счисления равной 15: F19 + F9 − 322  ?

Показать ответ и решение

Решение Python:

a = 15**19 + 15**9 - 322
# Перевод выражения в 15сс
s = ’’
while a > 0:
    s = str(a % 15) + s
    a //= 15
print(s) # Убеждаемся, что нет незначащих нулей
print(s.count(’0’))

Решение руками:

Переведем в систему счисления равную 15 и получим:

10◟00.◝.◜.000◞+1 0◟00..◝.◜000◞− 167
     19           9

      -10000000001000000000
--------------------------167---
  10000000000EEEEEED88
Ответ: 10

Ошибка.
Попробуйте повторить позже

Задача 8#6186

Сколько значащих ’F  ’ содержится в записи числа в системе счисления равной 16  : 166 + 1613 − 289  ?

Показать ответ и решение

Решение Python:

a = 16**6 + 16**13 - 289
# Перевод выражения в 16сс
s = []
while a > 0:
    s.append(a % 16)
    a //= 16
print(s.count(15))

Решение руками:

Переведем в систему счисления равную 16 и получим:

1000...000 +1 000...000− 121
 ◟--◝◜---◞   ◟---◝◜--◞
     13           6

    - 10000001000000
------------------121---
  10000000F  F FEDF

Получаем, что количество F  равно 4.

Ответ: 4

Ошибка.
Попробуйте повторить позже

Задача 9#6187

Сколько цифр 8 содержится в записи числа в системе счисления равной 9: 99 + 924 − 8582  ?

Показать ответ и решение

Решение Python:

a = 9**9 + 9**24 - 8582
# Перевод выражения в 9сс
s = ’’
while a > 0:
    s = str(a % 9) + s
    a //= 9
print(s.count(’8’))

Решение руками:

Переведем в систему счисления равную 9 и получим:

1000...000 +1 000...000− 12685
 ◟--◝◜---◞   ◟---◝◜--◞
     24           9

   10◟00..◝.◜000◞01000000000
 -      13
--------------------12685---
   10◟00..◝.◜000◞00888876204
        13
Ответ: 4

Ошибка.
Попробуйте повторить позже

Задача 10#6343

Сколько пятерок содержится в шестеричной записи числа 6120 + 363 − 160  ?

Показать ответ и решение

Решение Python:

a = 6**120 + 36**3 - 160
# Перевод выражения в 6сс
s = ’’
while a > 0:
    s = str(a % 6) + s
    a //= 6
print(s.count(’5’))

Решение руками:

Для начала стоит отметить, что любое число А в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A:         ◜-◞n◟--◝
An10 = 1 00..000 A

Так как нас просят узнать количество пятерок в шестеричной системе, представим все числа как степени шестерки. Также переведём 160 в шестеричную систему счисления, из чего получим:

6120 + 363 − 160 = 6120 + (62)3 + (4 ∗ 62 + 2 ∗ 61 + 4 ∗ 60) = 6120 + 66 − 424

Выполним сложение:

    10...0000000
 +
--------1000000---
  1 0◟.◝.◜.◞1000000
    113

Вычтем из полученного 424:

          .555 556
    1 0... 10000 00
 −   ◟1◝1◜3◞
              424
--------------------
     1 0◟..◝.◜0◞555132
       114

В записи 3 пятёрки.

Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 11#6353

Сколько двоек в троичной записи числа 315 + 93 + 812 + 17?

Показать ответ и решение

Решение Python:

a = 3**15 + 9**3 + 81**2 + 17
# Перевод выражения в 3сс
s = ’’
while a > 0:
    s = str(a % 3) + s
    a //= 3
print(s.count(’2’))

Решение руками:

Для начала стоить отметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A:         ◜-◞n◟--◝
An10 = 1 00...000 .
           A

Так как нас просят узнать количество двоек в троичной системе, представим все числа как степени тройки, а 17, поскольку оно не является степенью тройки, перевдем в троичную систему счисления, получим:

1710 = 32 + 2 ⋅ 3 + 2 = 1223

Тогда наше выражение имеет вид:  15    9    8
3  +  3 + 3  + 1223.

Так как  15  9  8
3 ,3 ,3   – это единицы с некоторым количеством нулей, при их сложении получится число, у которого в конце более трёх нулей, значит, при сложении с 1223   в итоговом числе будет две двойки.

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 12#6357

Сколько значащих цифр C  содержится в записи числа, данного ниже, в системе счисления с основанием 13  ?

  14     35
13  + 13   − 547
Показать ответ и решение

Решение Python:

a = 13**14 + 13**35 - 547
# Перевод выражения в 13сс
s = []
while a > 0:
    s.append(a % 13)
    a //= 13
print(s.count(12))

Решение руками:

Переведем в систему счисления с основанием 13  и получим:

1000...000 +1 000...000− 331
 ◟--◝◜---◞   ◟---◝◜--◞
     14           35

                10◟00..◝.◜000◞1 0◟00.◝.◜.000◞
              -      20        14
---------------------------------331---
  10◟00.◝.◜.000◞0CCCCCCCCCCC99C
      20
Ответ: 12

Ошибка.
Попробуйте повторить позже

Задача 13#6360

Сколько четверок содержится в пятеричной записи числа 2520 + 515 − 1253   ?

Показать ответ и решение

Решение Python:

a = 25**20 + 5**15 - 125**3
# Перевод выражения в 5сс
s = ’’
while a > 0:
    s = str(a % 5) + s
    a //= 5
print(s.count(’4’))

Решение руками:

Приведем к общему основанию:

540 + 515 − 59

Переведем в пятеричную систему счисления и получим:

10◟00.◝.◜.000◞+1 0◟00..◝.◜000◞− 1 0◟00.◝..◜000◞
     40           15          9

   10◟00..◝.◜000◞1 0◟0000.◝.◜.00000◞
        24           15
 -                   100..00
                      ◟-◝◜9-◞
---1-000...000-0444444-00..00--
     ◟--◝◜---◞        ◟-◝◜-◞
        24               9
Ответ: 6

Ошибка.
Попробуйте повторить позже

Задача 14#6407

Сколько единиц в двоичной записи числа 243 + 214 + 2  ?

Показать ответ и решение

Решение Python:

#Способ 1
a = bin(2**43 + 2**14 + 2)[2:]
print(a.count(’1’))

#Способ 2
a = 2**43 + 2**14 + 2
# Перевод выражения в 2сс
s = ’’
while a > 0:
    s = str(a % 2) + s
    a //= 2
print(s.count(’1’))

Решение руками:

В двоичной системе счисления, любое число вида 2k  имеет вид 100 ...002   , где после единицы идёт ровно k  нулей. Соответственно, сумма  43    14
2  + 2   + 2  не создаст переполнения ни в одном разряде, и будет иметь вид 100...00100 ...102   с единицами ровно на 44, 15 и 2 месте.

Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 15#6408

Сколько единиц в двоичной записи числа 2100 + 248 + 232 + 213 + 27 + 2 + 1  ?

Показать ответ и решение

Решение Python:

# Способ 1
a = bin(2**100 + 2**48 + 2**32 + 2**13 + 2**7 + 2 + 1)[2:]
print(a.count(’1’))

# Способ 2

a = 2**100 + 2**48 + 2**32 + 2**13 + 2**7 + 2 + 1
# Перевод выражения в 2сс
s = ’’
while a > 0:
    s = str(a % 2) + s
    a //= 2
print(s.count(’1’))

Решение руками:

В двоичной системе счисления, любое число вида 2k  имеет вид 100 ...002   , где после единицы идёт ровно k  нулей. Соответственно, сумма  100   48    32    13    7
2   + 2   + 2  + 2   + 2  + 2 + 1  не создаст переполнения ни в одном разряде, и будет иметь вид 10..010..010..010..010..112   с единицами ровно на 101, 49, 33, 14, 8, 2 и 1 месте.

Ответ: 7

Ошибка.
Попробуйте повторить позже

Задача 16#6416

Сколько цифр, отличных от нуля, в восьмеричной записи числа 2100 + 248 + 232 + 213 + 27 + 2 + 1  ?

Показать ответ и решение

Решение Python:

a = int(oct(2**100 + 2**48 + 2**32 + 2**13 + 2**7 + 2 + 1)[2:])
c = 0
while a > 0:
    if a % 10 != 0:
        c += 1
    a //= 10
print(c)

Решение руками:

Переведём данную сумму в удобную форму для основания 8 нашей системы счисления:

 100    48    32    13    7
2   + 2  +  2  + 2  +  2 + 2 + 1

2 ⋅ 299 + 248 + 4 ⋅ 230 + 2 ⋅ 212 + 2 ⋅ 26 + 3

2 ⋅ (23)33 + (23)16 + 4 ⋅ (23)10 + 2 ⋅ (23)4 + 2 ⋅ (23)2 + 3 ⋅ (23)0

   33       16      10      4       2       0
2 ⋅ 8 + 1 ⋅ 8 + 4 ⋅ 8 +  2 ⋅ 8 + 2 ⋅ 8 + 3 ⋅ 8

Соответственно, число имеет вид 200..010..040..0202038   , где 3 стоит в первом разряде, 2 стоит в третьем разряде, 2 стоит в пятом разряде, 4 стоит в 11 разряде, 1 стоит в 17 разряде, 2 стоит в 34 разряде. Таким образом, ровно 6 цифр отличны от нуля в восьмеричной записи данного числа.

Ответ: 6

Ошибка.
Попробуйте повторить позже

Задача 17#6499

Сколько единиц в двочиной записи числа 21024 + 45 + 2?

 

Показать ответ и решение

Решение Python:

# Способ 1
a = bin(2**1024 + 4**5 + 2)[2:]
print(a.count(’1’))

# Способ 2

a = 2**1024 + 4**5 + 2
# Перевод выражения в 2сс
s = ’’
while a > 0:
    s = str(a % 2) + s
    a //= 2
print(s.count(’1’))

Решение руками:

Для начала стоить отметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A:           --n --
An   = 1 ◜00.◞..◟00◝0
   10            A
Так как нас просят узнать количество единиц в двоичной системе, представим все числа как степени двойки, получим: 21024 + 45 + 2 = 21024 + (22)5 + 21 = 21024 + 210 + 21.  В двоичной системе счисления эта запись выглядит так:   ◜-10◞2◟4-◝    ◜-1◞0◟-◝
1 000...000 +1 0...000 +10.
Далее выполняем сложение и наглядно получаем ответ:

    10...000..0000...000
 +          1000...000
--------------------10--
   1 0...000 10...000 10
     ◟1◝0◜13◞  ◟-◝◜8-◞
Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 18#6617

Сколько единиц в троичной записи числа 32019 + 277 + 3  ?

Показать ответ и решение

Решение Python:

a = 3**2019 + 27**7 + 3
s = ’’
while a > 0:
    s = str(a % 3) + s
    a //= 3
print(s.count(’1’))

Решение руками:

Для начала стоить отметить, что любое десятичное число A в n  -ой степени можно записать как единицу и n  нулей в системе счисления с основанием A:          ◜--◞n◟--◝
An10  = 100...000A

Так как нас просят узнать количество единиц в троичной системе, представим все числа как степени тройки, получим: 32019 + 277 + 3 = 32019 + (33)7 + 31 = 32019 + 321 + 31   . В троичной системе счисления эта запись выглядит так:     2019        21
  ◜--◞◟--◝    ◜-◞◟-◝
1 000...000 +1 0...000 +10  .

Далее выполняем сложение и наглядно получаем ответ:

    10...000..0000...000
 +          1000...000

--------------------10--
   1 0◟...◝0◜00◞ 10◟...◝0◜00◞ 10
      1995     21
Ответ: 3

Ошибка.
Попробуйте повторить позже

Задача 19#6618

Сколько единиц в троичной записи числа 32051 + 816 + 8  ?

Показать ответ и решение

Решение Python:

a = 3**2051 + 81**6 + 8
s = ’’
while a > 0:
    s = str(a % 3) + s
    a //= 3
print(s.count(’1’))

Решение руками:

Для начала стоить отметить, что любое десятичное число A в n  -ой степени можно записать как единицу и n  нулей в системе счисления с основанием A:          ◜--◞n◟--◝
An10  = 100...000A

Так как нас просят узнать количество единиц в троичной системе, представим все числа как степени тройки, получим: 32051 + 816 + 8 = 32051 + (34)6 + (2 ⋅ 31 + 2 ⋅ 30) = 32051 + 324 + (2 ⋅ 31 + 2 ⋅ 30)  . В троичной системе счисления эта запись выглядит так:     2051        24
  ◜--◞◟--◝    ◜-◞◟-◝
1 000...000 +1 0...000 +22  .

Далее выполняем сложение и наглядно получаем ответ:

    10...000..0000...000
 +          1000...000

--------------------22--
   1 0◟...◝0◜00◞ 10◟...◝0◜00◞ 22
      2024     24
Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 20#6619

Сколько четверок содержится в пятеричной записи числа 550 + 253 − 125  ?

Показать ответ и решение

Решение Python:

a = 5**50 + 25**3 - 125
s = ’’
while a > 0:
    s = str(a % 5) + s
    a //= 5
print(s.count(’4’))

Решение руками:

Для начала стоить отметить, что любое десятичное число A в n  -ой степени можно записать как единицу и n  нулей в системе счисления с основанием A:          ◜--◞n◟--◝
An10  = 100...000A

Так как нас просят узнать количество четверок в пятеричной системе, представим все числа как степени пятерки, получим:  50    3           50     2 3    3    50   6
5  + 25  − 125 =  5  + (5 ) −  5 =  5  + 5  − 125  .

Для начала выполним сложение:

    10...000..000
 +      1000000
------------------
  1 0◟..◝.◜0◞1000000
     43

Вычтем из полученного  3
5   :

          ⋅44 5
 − 10...01000000
            1000
-------------------
    10◟.◝.◜.0◞ 444000
      44

Примечание: при вычитании в недесятичной системе счисления, мы занимаем не “десяток”, а само основание системы счисления. В данном примере из второй единицы (она стоит в 6 разряде) мы занимаем пять в соседний разряд, и затем из полученной “пятерки” занимаем в следующий разряд, таким образом продолжая до разряда, под которым стоит единица другого числа.

Ответ: 3
Рулетка
Вы можете получить скидку в рулетке!