Главная страница
Навигация по странице:

  • Решение (программа на Python , А.Н. Носкин)

  • Решение (программа на Python, Б.С. Михлин)

  • Позиционные системы счисления


    Скачать 0.83 Mb.
    НазваниеПозиционные системы счисления
    Дата18.04.2022
    Размер0.83 Mb.
    Формат файлаdoc
    Имя файлаege14 3.doc
    ТипДокументы
    #483521
    страница5 из 14
    1   2   3   4   5   6   7   8   9   ...   14

    Ещё пример задания:


    Р-19. Решите уравнение .

    Ответ запишите в троичной системе счисления. Основание системы счисления указывать не нужно.

    Решение:

    1. переведём все числа в десятичную систему счисления:



    1. собирая всё в одно уравнение получаем



    1. это уравнение имеет два решения, 6 и -8; основание системы счисления – натуральное число, поэтому ответ – 6

    2. переводим ответ в троичную систему: 6 = 2∙31 = 203.

    3. ответ: 20.

    Решение (программа на Python, А.Н. Носкин):

    1. можно (но сложнее) решить задачу перебором с помощью программы:

    a = 1*7**2 + 0 + 1 # перевод "101" в 10-ю систему

    c = a - 1 # число "121" в 10-й системе

    for i in range(3,100):# перебираем возможные основания

    b = 1*i**2 + 2*i + 1 # перевод в 10-ю систему числа "121"

    if b == c:

    x = i # основание системы счисления (в 10й системе)

    break

    x3 = ''

    while x > 0:# перевод основания в 3-ю систему

    x3 += str(x%3)

    x //= 3

    x3 = x3[::-1]# разворот числа

    print(x3)

    1. ответ: 20.

    Решение (программа на Python, Б.С. Михлин):

    1. вариант программы:

    for x in range( 3, 37): # среди оснований от 3 до 36

    if int( '121', x ) + 1 == int( '101', 7 ):

    break

    print('в 10 c.c:', x)

    s = ''

    while x:

    s = str( x%3 ) + s

    x //= 3

    print( 'Ответ в 3 с.с:', s )

    1. ответ: 20.

    Ещё пример задания:


    Р-18. Сколько единиц в двоичной записи числа
    42014 + 22015 – 8

    Решение:

    1. приведём все числа к степеням двойки:

    42014 + 22015 – 8 = (22)2014 + 22015 – 23 = 24028 + 22015 – 23

    1. вспомним, что число 2N-1 в двоичной системе записывается как N единиц: ,
      а число 2N2K при K < N записывается как N–K единиц и K нулей:

    2. согласно п. 2, число 22015 – 23 запишется как 2012 единиц и 3 нуля

    3. прибавление 24028 даст ещё одну единицу, всего получается 2012 + 1 = 2013 единиц

    4. ответ: 2013.

    Решение (программа на Python, Б.С. Михлин):

    1. программа использует встроенную «длинную арифметику» Python:

    x = bin( 4**2014 + 2**2015 - 8 )
    print( x.count( '1' ) )


    1. ответ: 2013.

    Ещё пример задания:


    Р-17. Сколько единиц в двоичной записи числа
    42016 + 22018 – 8600 + 6

    Решение:

    1. приведём все числа к степеням двойки, разложив 6 как 22+21

    42016 + 22018 – 8600 + 6 = (22)2016 + 22018 - (23)600 + 22 + 21 = 24032 + 22018 – 21800 + 22 + 21

    1. вспомним, что число 2N-1 в двоичной системе записывается как N единиц: ,
      а число 2N2K при K < N записывается как N–K единиц и K нулей:

    2. согласно п. 2, число 22018 – 21800 запишется как 218 единиц и 1800 нулей

    3. прибавление 24032 даст ещё одну единицу, а прибавление 22 + 21 – ещё две, всего получается 218 + 3 = 221 единица

    4. ответ: 221.
    1   2   3   4   5   6   7   8   9   ...   14


    написать администратору сайта