Как найти ответ задач по системе счисление

Задачи
по теме “Системы счисления”

                                        Примеры
решения

Задание
№1.
 
Сколько значащих цифр в записи десятичного числа 357 в системе
счисления с основанием 3? 

Решение: 
Переведём число 35710 в троичную систему счисления: 
pic11.jpg 
Итак, 35710 = 1110203. Число 1110203 содержит 6
значащих цифр. 

Ответ: 6.  

Задание
№2.
 
Дано А=A715, B=2518. Какое из чисел C, записанных в двоичной
системе, отвечает условию A<c<b? 

1) 101011002 
2) 101010102 
3) 101010112 
4) 101010002 
Решение: 
Переведём числа А=A715 и B=2518 в двоичную систему
счисления, заменив каждую цифру первого числа соответствующей тетрадой, а
каждую цифру второго числа – соответствующей триадой: A715= 1010 01112;
2518 = 010 101 0012. 

Условию a<b<c Ответ: 101010002 (вариант 4). 


Задание №3.
 
На какую цифру оканчивается запись десятичного числа 123 в
системе счисления с основанием 6? 

Решение: 
Переведём число 12310 в систему счисления с основанием
6: 

pic12.jpg 
12310 = 3236. 
Ответ: Запись числа 12310 в системе счисления с основанием
6 оканчивается на цифру 3. 

Задания на выполнение арифметических действий над числами,
представленными в разных системах счисления 

Задание №4.

 
Вычислите сумму чисел X и Y, если X=1101112, Y=1358. Результат
представьте в двоичном виде. 

1) 100100112 2) 100101002 3) 110101002 4)
101001002 

Решение: 
Переведём число Y=1358 в двоичную систему счисления,
заменив каждую его цифру соответствующей триадой: 001 011 1012. Выполним
сложение: 

pic13.jpg 
Ответ: 100101002 (вариант 2). 

Задание №5.

 
Найдите среднее арифметическое чисел 2368, 6С16 и 1110102.
Ответ представьте в десятичной системе счисления. 

Решение: 
Переведём числа 2368, 6С16 и 1110102 в десятичную
систему счисления: 

pic14.jpg 
Вычислим среднее арифметическое чисел: (158+108+58)/3 =
10810. 

Ответ: среднее арифметическое чисел 2368, 6С16 и
1110102 равно 10810. 

Задание №6.

 
Вычислите значение выражения 2068 + AF16 ? 110010102. Вычисления
производите в восьмеричной системе счисления. Переведите ответ в десятичную
систему. 

Решение: 
Переведём все числа в восьмеричную систему счисления: 
2068 = 2068; AF16 = 2578; 110010102 = 3128 
Сложим числа: 
pic15.jpg 
Переведём ответ в десятичную систему: 
pic16.jpg 
Ответ:51110. 

Задания на нахождение
основания системы счисления 


Задание №7.
 
В саду 100q фруктовых деревьев: из них 33q яблони,
22q груши, 16q слив и 17q вишен. Найдите основание системы
счисления, в которой посчитаны деревья. 

Решение: 
Всего в саду 100q деревьев: 100q =
33q+22q+16q+17q. 

Пронумеруем разряды и представим данные числа в развёрнутой
форме: 

pic17.jpg 
Ответ: Деревья посчитаны в системе счисления с основанием
9. 

Задание №8.

 
Найдите основание x системы счисления, если известно, что
2002x = 13010. 

Решение: 
Пронумеруем разряды и запишем данные числа в развёрнутой
форме: 

pic19.jpg 
Ответ:4.

Задание
№9.
 
В системе счисления с некоторым основанием десятичное число 18
записывается в виде 30. Укажите это основание. 

Решение: 
Примем за х основание неизвестной системы счисления и составим
следующее равенство: 

1810 = 30x; 
Пронумеруем разряды и запишем данные числа в развёрнутой
форме: 

pic18.jpg 
Ответ: десятичное число 18 записывается в виде 30 в системе
счисления с основанием 6. 

Решение задач по теме «СИСТЕМЫ СЧИСЛЕНИЯ» (ЕГЭ – 2023, задание 14)

Согласно спецификации КИМ ЕГЭ 2023 г., для решения данного задания повышенного уровня сложности использование специализированного программного обеспечения не требуется. Поэтому рассмотрим теоретический разбор решения задач по теме, а также написание программ для них.

Обозначим через N основание системы счисления. Тогда наибольшая цифра в системе счисления с основанием N равна N-1.

Следует помнить, что:

  • Любое основание N в своей системе счисления выглядит как 10, т.е.  N10 = 10N

(например, 210=102,  310=103,  810=108,  10010=10100  и  так далее).

  • Степень любого основания N в своей системе счисления выглядит как единица и количество нулей, равных  степени, т.е.  

                                                Nk =   10…0N

                                                       k

(например,  4=22=1002,  8=23 =10002,  16=24=100002  и  так далее).

  • Число, стоящее перед k-той степенью основания, в своей системе счисления выглядит как последовательность из  k  самых больших цифр этой системы счисления, т.е.

Nk – 1 =  (N-1)…(N-1)N

                         k

Тогда      2k – 1 =  1…12   

                    k                          

(например: 3=22-1=112, 7=23 -1=1112, 15=24-1=11112   и так далее).

  • Число   Nk– Nm = Nm * (Nkm – 1)  записывается в системе счисления с основанием как  k старших цифр этой системы счисления, за которыми следует   нулей:                                                                    

                                       N– Nm = (N-1)…(N-1) 0…0N

                                                                  k – m          m 

  Тогда

                                         2k – 2m = 1…1 0…02

                                                          k – m    m

(например, 103 – 10= 900, 103 – 101 = 990, 105 – 103 = 99000, 25 – 22 = 111002,   

35 – 32 = 222003  и  так далее).

  • При решении задач следует: привести все числа, заданные в выражении, к одному основанию системы счисления, расположить числа в порядке убывания степеней основания и только потом выполнять математические действия.

Рассмотрим несколько примеров решения задач по теме.

Задача 1. Демоверсия 2020

Значение арифметического выражения: 497 + 721 – 7 записали в системе счисления с основанием 7. Сколько цифр « содержится в этой записи?

Решение:

497 + 721 – 7 = 714 + 721 – 71 = 721 + 714 – 71

Цифры 6 появятся в результате вычитания 714 – 71 и их количество вычисляется из разницы степеней, т.е. 14 – 1 = 13.

Писать программу для этой задачи скучно и неинтересно, но все-таки приведем ее:

x = 4**2015 + 2**2015 – 15

k = 0

while x0:

if x%2 == 1:

k+= 1

x = x//2

print(k)

Ответ: 13

Задача 2 (М.В. Кузнецова)

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

2·277 + 310 9

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

Решение:

Условие данной задачи аналогично предыдущей, но степени здесь меньше, что позволяет решить задачу другим способом. Запишем заданное выражение через числа 3 в разных степенях:

2·277 + 310 9 = 2·321 + 310 32

Учитывая, что N10 = 10N, распишем выражение:

20000000000000000000003

+ 100000000003

1003

20000000000022222222003

Итого – 13 нулей.

Примечание. Решать таким способом можно любые похожие задачи, главное – точно записать количество нулей в числах.

Программа:

x = 2*27**7 + 3**10 – 9

k = 0

while x0:

if x%3 == 0:

k += 1

x = x//3

print(k)

Ответ: 13

Задача 3

Найдите основания систем счисления X и Y, если известно, что 87X=73Y и 62X=52Y. в ответе запишите число, составленное из чисел Y и X, записанных подряд без пробелов. Например, если X=13 и Y=15, ответ запишется как 1513.

Решение:

Из условия видно, что x 8 и y 7 и y x, тогда y 9. Далее будем брать по очереди числа для у от 10 и х от 9 и вычислять значения, пока не получим равенство, заданное в условии.

При y = 10 и х = 9 получаем 879 = 72 + 7 = 79 73, то увеличиваем х и у на 1 и

при y = 11 и х = 10 получаем 8710 и 7311 = 77 + 3 = 80 Увеличиваем у еще на единицу, получаем: 7312 = 84 + 3 = 87, то х = 10. Тогда в ответе получаем 1210.

Ответ: 1210

Задача 4

Сколько единиц в двоичной записи числа 42015 + 22015 15?

Решение:

42015 + 22015 15 = 22030 + 22015 24 + 20

Здесь 2015 – 4 = 2011 единиц плюс 2 единицы дают оставшиеся числа 22030 и 20, то всего получаем 2013 единиц.

Программа:

x = 4**2015 + 2**2015 – 15

k = 0

while x0:

if x%2 == 1:

k+= 1

x = x//2

print(k)

Ответ: 2013

Задача 5

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

Решение:

В данной задаче нужно разложить число 45 на степени двойки и далее записать все в порядке убывания:

82014 2614 + 45 = 26042 2614 + 25 + 23 + 22 + 20

Получаем 6042 – 614 = 5428 плюс 4 единицы от оставшихся чисел (25, 23, 22, 20), итого – 5432 единицы.

Ответ: 5432

Задача 6

Сколько единиц в двоичной записи числа 81014 2530 12?

Решение:

Разложив число 12 на степени двойки, получаем:

81014 2530 12 = 23042 – 2530 – 23 – 22

Получаем разницу первой и последней степеней: 3042- 2 = 3040 и еще вычитаем 2 единицы, которые стоят между ними, итого – 3038 единиц.

Программа:

x = 8**1014 – 2**530 – 12

k = 0

while x0:

if x%2 == 1:

k+= 1

x = x//2

print(k)

Ответ: 3038

Задача 7. Демоверсия 2023 (Уровень: Средний)

Операнды арифметического выражения записаны в системе счисления с основанием 15:

123×515 + 1×23315

В записи чисел переменной x обозначена неизвестная цифра из алфавита 15-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 14. Для найденного значения x вычислите частное от деления значения арифметического выражения на 14 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Решение:

Запишем оба слагаемых в развернутой записи в системе счисления с основанием 15:

   123×515 + 1×23315  =  (1·154+2·153+3·152+x·15+5) + (1·154+x·153+2·152+3·15+3) =

   = (2·154+2·153+5·152+ 3·15+8) + (x·15+x·15) =

   = (101250 + 6750 + 1125 + 45 + 8) + · (3375 + 15) = 109178 + 3390·x

Согласно условию, выражение Y = 109178 + 3390*x  делится на 14.

Остаток от деления 109178 на 14 равен 6; остаток от деления 3390 на 14 равен 2.

Выражение Y кратно14, когда остаток от деления Y на 14 должен быть равен 0 (или 14, 28 и т.д.). При сложении остатков получаем 6+2*x = 0, где х примет отрицательное значение. Берем следующее значение остатка:

                     6+2*x = 14,  откуда   x =4. 

Тогда  Y = 109178 + 3390*4 = 122738, а частное Y на 14 равно  8767.

Программа:

for x in ‘0123456789abcde’:

    a = int(f’123{x}5′,15)+int(f’1{x}233′,15)

    if a% 14==0:

       print(x, a//14)

      break

В результате выполнения программы получаем два числа – наименьшее значение х и искомое частное:

                   4 8767

Ответ: 8767

Задача 8

(А. Богданов) Операнды арифметического уравнения записаны в разных системах счисления.

3364x11 + x794612 = 55×8714

В записи чисел переменной x обозначена неизвестная цифра. Определите наименьшее значение x, при котором данное уравнение обращается в тождество. В ответе укажите значение правой части уравнения в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Решение:

Запишем обе части заданного выражения в развернутой форме чисел, получим:

3364x11 + x794612 = 55×8714

Левая часть:

3364x11 + x794612 = х + 4*11 + 6*112 + 3*113 + 3*114 + 6 + 4*12 + 9*122 + 7*123 + х*124 =

= х + 44 + 726 + 3993 + 43923 + 6 + 48 + 1296 + 12096 + х*124 =

= х + 131769 + 13446 + х*20736 =

= 48686 + х + х*20736 = 48686 + х*20737

Правая часть:

55×8714 = 7 + 8*14 + х*142 + 5*143 + 5*144 =

= 119 + х*196 + 13720 + 192080 = 205919 + х*196

Следовательно, 48686 + х*20737 = 205919 + х*196

20541*х = 143787, откуда х=7 и 205919 + 7*196 = 207291

Программа:

for x in range(13):

a = 8 + 13 + 4*13**2 + 13**3 + x*13**4

b = 7 + 3*14 + 0*14**2 +x*14**3 + 14**4

c = 9 + 0*19 + 2*19**2 + x*19**3 +2*19**4

if a + b == c:

print(c)

break

Ответ: 323104

Задача 9

Операнды арифметического уравнения записаны в разных системах счисления.

x1418₁₃ + 1×037₁₄ = 2×209₁₉

В записи чисел переменной x обозначена неизвестная цифра. Определите наименьшее значение x, при котором данное уравнение верно. В ответе укажите значение правой части уравнения в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Решение:

Запишем обе части заданного выражения в развернутой форме чисел, получим:

8 + 13 + 4*132 + 133 + x*134 + 7 + 3*14 + 0*142 + x*143 + 144 =

= 9 + 0*19 + 2*192 + x*193 + 2*194

2894 + х*28561 + 38465 + х*2744 = 1083 + 130321 + х*6859

41359 + х*31305 = 261373 + х*6859

х*24446 = 220014

Тогда х = 220014 / 24446 = 9

и правая часть уравнения равна 1083 + 130321 + 9*6859 = 323104.

Программа:

for x in range(13):

a = 8 + 13 + 4*13**2 + 13**3 + x*13**4

b = 7 + 3*14 + 0*14**2 +x*14**3 + 14**4

c = 9 + 0*19 + 2*19**2 + x*19**3 +2*19**4

if a + b == c:

print(c)

break

Ответ: 323104

Задача 10 (Джобс)

Известно, что значение выражения 36×538 – 4y38 является положительным и минимальным. Известно, что x и y – допустимые комбинации из одной или более цифр.

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

Решение:

Чтобы результат выражения (разница двух чисел) была минимальной, нужно из минимально возможного первого числа (далее – 1min) вычесть максимально возможное второе число (далее – 2max). При этом, чтобы значение выражения было положительным, необходимо, чтобы 36×538 4y38, тогда у может быть двухразрядным, но не более.

Тогда 1min = 360538,

2max= 47738.

Разница между ними равна 310608 = 12848.

Ответ: 12848

Тема: Позиционные системы счисления.

Что нужно знать:

  • принципы кодирования чисел в позиционных системах счисления

  • чтобы перевести число, скажем, 12345N, из системы счисления с основанием в десятичную систему, нужно умножить значение каждой цифры на в степени, равной ее разряду:

4 3 2 1 0 ← разряды

1 2 3 4 5N = 1·N4 + 2·N3 + 3·N2 + 4·N1 + 5·N0

  • последняя цифра записи числа в системе счисления с основанием – это остаток от деления этого числа на

  • две последние цифры – это остаток от деления на , и т.д.

  • число 10N записывается как единица и N нулей:

  • число 10N-1 записывается как N девяток:

  • число 10N-10M = 10M · (10NM – 1) записывается как N-M девяток, за которыми стоят M нулей:

  • число 2N в двоичной системе записывается как единица и N нулей:

  • число 2N-1 в двоичной системе записывается как N единиц:

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

  • поскольку , получаем , откуда следует, что

  • число 3N записывается в троичной системе как единица и N нулей:

  • число 3N-1 записывается в троичной системе как N двоек:

  • число 3N – 3M = 3M · (3NM – 1) записывается в троичной системе как N-M двоек, за которыми стоят M нулей:

  • можно сделать аналогичные выводы для любой системы счисления с основанием a:

    • число aN в системе счисления с основанием a записывается как единица и N нулей:

    • число aN-1 в системе счисления с основанием a записывается как N старших цифр этой системы счисления, то есть, цифр (a-1):

    • число aN aM = aM · (aN-M1) записывается в системе счисления с основанием a как N-M старших цифр этой системы счисления, за которыми стоят M нулей:

Пример 1.

Операнды арифметического выражения записаны в системе счисления с основанием 15.

123×515 + 1×23315

В записи чисел переменной x обозначена неизвестная цифра из алфавита 15-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 14.

Для найденного значения x вычислите частное от деления значения арифметического выражения на 14 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Решение:

  1. запишем оба слагаемых в развернутой записи в системе счисления с основанием 15:

123×515 + 1×23315 =

(1·154+2·153+3·152+x·15+5) + (1·154+x·153+2·152+3·15+3) =

(2·154+2·153+5·152+ 3·15+8) + (x·153 +x·15)

= (101250 + 6750 + 1125 + 45 + 8) + x · (3375 + 15) = 109178 + 3390·x

  1. нам нужно, чтобы выражение Y = 109178 + 3390·x делилось на 14

  2. остаток от деления 109178 на 14 равен 6; остаток от деления 3390 на 14 равен 2

  3. для того чтобы Y делилось на 14, остаток от деления Y на 14 должен быть равен 0 (14, 28 и т.д.) Попробуем сложить остатки. 6+2*x = 0, даст нам отрицательное значение x, значит нужно взять следующее значение остатка 6+2*x = 14 2*x = 8 x =4.

  4. Y = 109178 + 3390·4 = 122738. В качестве ответа нужно поделить Y на 14, получим 8767

  5. Ответ 8767.

Решение (программа на Python):

  1. полный текст программы:

for x in range (15):

a = 1*15**4 + 2*15**3 + 3*15**2 + x*15 + 5

b = 1*15**4 + x*15**3 + 2*15**2 + 3*15 + 3

if (a+b) %14 == 0:

print( (a+b) // 14 )

break

  1. Ответ 8767.

Пример 2.

Значение арифметического выражения: 497 + 721 – 7 – записали в системе

счисления с основанием 7. Сколько цифр 6 содержится в этой записи?

Решение:

  1. приведём все числа к степеням семерки, учитывая, что 49 = 72

714 + 721 – 71

  1. расставим степени в порядке убывания:

721 + 714 – 71

  1. Очевидно, что «шестёрки» в семеричной записи значения выражения возникнут только за счёт вычисления разности 714 – 71, их количество равно 14-1=13

  2. Ответ: 13.

Решение (использование программы):

  1. язык Python позволяет работать с большими числами, не задумываясь о том, что для их хранения требуется больше памяти, чем для «обычного» целого числа (когда значение не помещается в 4 байта, интерпретатор автоматически переходит на представление числа в виде массива с «длинной арифметикой»)

  2. поэтому может быть написана программа, которая вычисляет нужное значение и методом деления в столбик определяет все цифры его записи в семеричной системе счисления; шестёрки считаем с помощью счётчика count6:

x = 49**7 + 7**21 – 7

count6 = 0

while x:

if x % 7 == 6: count6 += 1

x //= 7

print( count6 )

  1. Ответ: 13.

Решение (использование программы в среде Pascal ABC.NET):

  1. Pascal ABC.NET за счет использования фреймворка .NET позволяет воспользоваться типом System.Numerics.BigInteger (предназначенным для произвольно больших целых со знаком) и связанными с ним функциями.

  2. Таким образом, программа получается во многом схожей с программами на Python. Особо отметим, что использование функций возведения в степень не связанных с типом BigInteger для систем с основанием, не являющимся степенью двойки, приводит к неверным результатам из-за использования вещественных чисел. Например, BigInteger(power(9,34)) или BigInteger(9 ** 34) преобразуют вещественное число в целое произвольно большой длины, но еще при операции возведения в степень потеряется часть идеальной, математической мантиссы.

  3. В связи с вышесказанным допустимо только использование записей вида BigInteger.Pow(9,34).

  4. Полная программа:

var

a: BigInteger;

k: int64;

begin

a := BigInteger.Pow(49, 7) + BigInteger.Pow(7, 21) – 7;

k := 0;

while (a 0) do

begin

if (a mod 7 = 6) then

k := k + 1;

a := a div 7;

end;

writeln(k);

end.

  1. Ответ: 13.

Пример 3.

Значение арифметического выражения: 6410 + 290 – 16 записали в системе счисления с основанием 8. Сколько цифр «7» содержится в этой записи?

Решение:

  1. Приведём все числа к степеням восьмерки, учитывая, что 16 = 64 – 48 =82-6∙81

6410 + 290 – 16 = (82)10 + 23∙30 – (82 – 48) = 820 + 830 – 82 + 6∙81

  1. Перепишем выражение, располагая степени восьмёрки в порядке убывания:
    820 + 830 – 82 + 6∙81 = 830 + 820 – 82 + 6∙81

  2. Очевидно, что «семёрки» в восьмеричной записи значения выражения возникнут только за счёт вычисления разности 820 – 82, их количество равно 20-2=18

  3. Ответ: 18.

Решение (использование программы в среде Pascal ABC.NET):

  1. В среде Pascal ABC.NET при использовании типа BigInteger задача может быть решена с помощью программы:

var

a: BigInteger;

k: int64;

begin

a := BigInteger.Pow(64, 10) + BigInteger.Pow(2, 90) – 16;

k := 0;

while (a 0) do

begin

if (a mod 8 = 7) then

k := k + 1;

a := a div 8;

end;

writeln(k);

end.

  1. Ответ: 18.

Решение (программа на Python):

  1. если доступна среда программирования на Python, можно написать программу, которая использует встроенную арифметику длинных чисел:

x = 64**10 + 2**90 – 16

print( oct(x).count(‘7’) )

  1. ответ: 18.

Пример 4.

Значение арифметического выражения: 99 – 39 + 919 – 19 записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи?

Решение:

  1. Приведём все числа к степеням тройки, учитывая, что 19=27-8=33-(2∙31+2∙30):

99 – 39 + 919 – 19= (32)9 – 39 + (32)19 – (33 – (2∙31 + 2∙30)) = 318 – 39 + 338 – 33 + 2∙31 + 2∙30

  1. Перепишем выражение, располагая степени тройки в порядке убывания:
    318 – 39 + 338 – 33 + 2∙31 + 2∙30 = 338 + 318 – 39 – 33 + 2∙31 + 2∙30

  2. Сначала рассмотрим часть выражения, в которой имеется два расположенных подряд «минуса»: 318 – 39 ‑ 33:

    1. найдём разность двух крайних чисел: 318 – 33, в её троичной записи 18 – 3=15 «двоек» и 3 «нуля»;

    2. вычтем из этого числа значение 39: одна из «двоек» (на 10-й справа позиции) уменьшится на 1, остальные цифры не изменятся;

    3. итак, троичная запись разности 318 – 39 – 33 содержит 15 – 1=14 «двоек», одну «единицу» и 3 «нуля»

  3. Прибавим к полученному значению сумму: 2∙31 + 2∙30 = 223. В троичной записи результата два крайних справа нуля заменяются на «двойки», остаётся один ноль. Общее количество «двоек»: 14+2=16.

  4. Прибавление значения 338 не изменит количества «двоек» в троичном числе: слева от имеющихся цифр появятся ещё 38 – 18=20 «нулей» и одна «единица» – на 39-й справа позиции.

  5. Итак, результат, записанный в троичной системе, содержит 39 цифр. Его состав: 16 «двоек», 2 «единицы» (их позиции: 39-я и 10-я справа) и 21 «нуль» (39-16-2=21).

  6. Ответ: 16.

Пример 5.

Значение арифметического выражения: 98 + 35 – 9

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

Решение:

  1. приведём все слагаемые к виду 3N и расставим в порядке убывания степеней:

98 + 35 – 9 = 316 + 35 – 32

  1. первое слагаемое, 316, даёт в троичной записи одну единицу – она нас не интересует

  2. пара 35 – 32 даёт 5 – 2 = 3 двойки

  3. Ответ: 3.

Решение (программа):

  1. задача может быть решена с помощью программы на Python, где есть встроенная поддержка длинных чисел:

x = 9**8+3**5-9

x3 = ”

while x:

x3 = str(x%3) + x3

x //= 3

print( ‘Ответ:’, x3.count(‘2’) )

  1. вариант без использования символьных строк:

x = 9**8+3**5-9

count2 = 0

while x:

if x % 3 == 2:

count2 += 1

x //= 3

print( ‘Ответ:’, count2 )

  1. Ответ: 3.

Пример 6.

Сколько значащих нулей в двоичной записи числа
4512 + 8512 – 2128 – 250

Решение:

  1. Общая идея: количество значащих нулей равно количеству всех знаков в двоичной записи числа (его длине!) минус количество единиц

  2. приведём все числа к степеням двойки, учитывая, что 250 = 256 – 4 – 2 = 28 – 22 – 21:

4512 + 8512 – 2128 – 250 = (22)512 + (23)512 – 2128 – 28 + 22 + 21 =

= 21536 + 21024 – 2128 – 28 + 22 + 21

  1. старшая степень двойки – 21536, двоичная запись этого числа представляет собой единицу и 1536 нулей, то есть, состоит из 1537 знаков; таким образом, остаётся найти количество единиц

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

  3. для того чтобы использовать это свойство, нам нужно представить заданное выражение в виде пар вида 2N2K, причём в этой цепочке степени двойки нужно выстроить по убыванию

  4. в нашем случае вы выражении

21536 + 21024 – 2128 – 28 + 22 + 21

стоит два знака «минус» подряд, это не позволяет сразу использовать формулу

  1. используем теперь равенство , так что – 2128 = – 2129 + 2128; получаем

21536 + 21024 – 2129 + 2128 – 28 + 22 + 21

здесь две пары 2N2K , а остальные слагаемые дают по одной единице

  1. общее число единиц равно 1 + (1024 – 129) + (128 – 8) + 1 + 1 = 1018

  2. таким образом, количество значащих нулей равно 1537 – 1018 = 519

  3. ответ: 519.

Решение (программа на Python):

  1. если доступна среда программирования на Python, можно написать программу, которая использует встроенную арифметику длинных чисел:

x = 4**512 + 8**512 – 2**128 – 250

print( bin(x)[2:].count(‘0’) )

  1. ответ: 519.

Пример 7.

Сколько единиц в двоичной записи числа
42015 + 8405 – 2150 – 122

Решение:

  1. приведём все числа к степеням двойки, учитывая, что 122 = 128 – 4 – 2 = 27 – 22 – 21:

42015 + 8405 – 2150 – 122 = (22)2015 + (23)405 – 2150 – 27 + 22 + 21 =

= 24030 + 21215 – 2150 – 27 + 22 + 21

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

  2. для того чтобы использовать это свойство, нам нужно представить заданное выражение в виде пар вида 2N2K, причём в этой цепочке степени двойки нужно выстроить по убыванию

  3. в нашем случае вы выражении

24030 + 21215 – 2150 – 27 + 22 + 21

стоит два знака «минус» подряд, это не позволяет сразу использовать формулу

  1. используем теперь равенство , так что – 2150 = – 2151 + 2150; получаем

24030 + 21215 – 2151 + 2150 – 27 + 22 + 21

здесь две пары 2N2K , а остальные слагаемые дают по одной единице

  1. общее число единиц равно 1 + (1215 – 151) + (150 – 7) + 1 + 1 = 1210

  2. ответ: 1210.

Решение (программа на Python):

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

x = bin( 4**2015 + 8**405 – 2**150 – 122 )

print( x.count( ‘1’ ) )

  1. ответ: 1210.

Пример 8.

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

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

Решение:

  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.

Пример 9.

Сколько единиц в двоичной записи числа
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.

Пример 10.

Сколько единиц в двоичной записи числа
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.

Пример 11.

Сколько единиц в двоичной записи числа
42016 – 22018 + 8800 – 80

Решение:

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

42016 – 22018 + 8800 – 80 = (22)2016 – 22018 + (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24

  1. перестроим слагаемые в порядке уменьшения степеней двойки

24032 + 22400 – 22018 – 26 – 24

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

  2. согласно п. 2, число 22400 – 22018 запишется как 382 единицы и 2018 нулей

  3. добавляем старшее слагаемое 24032, получаем число 24032 + 22400 – 22018, в котором 383 единицы и в конце (после последней единицы) – 2018 нулей:

  1. выделим из этого значения последнюю единицу со следующими 2018 нулями как отдельное слагаемое (число 22018):

,

где число K содержит 382 единицы в старших разрядах; таки образом, интересующее нас число равно

  1. согласно п. 2, число 22018 – 26 запишется как 2012 единиц и 6 нулей; также выделим последнюю единицу с последующими нулями как отдельное слагаемое:

где число L содержит 2011 единиц

  1. теперь остаётся найти, сколько единиц будет в двоичной записи числа 26 – 24, согласно п. 2 находим, что оно содержит 2 единицы

  2. таким образом, общее число единиц равно 382 + 2011 + 2 = 2395

  3. ответ: 2395.

Задача № 1

Сколько раз встречается цифра (2) в записи чисел (9), (10), (11), (12)…(15) в системе счисления с основанием (4)?

Переведём каждое число из приведённого числового ряда в четверичную систему счисления:

910=214,1010=224,1110=234,1210=304,1310=314,1410=324,1510=334.

Подсчитаем количество двоек.

Ответ: (5).

В некоторой системе счисления десятичное число (34) записывается как (46). Найди основание этой системы счисления. 

Запишем уравнение:

46k=4×k1+6×k0=3410

.

Так как любое число в нулевой степени равно единице, то (34-6 = 28).

(28) разделим на (4) и получим искомое основание.

Ответ: (7).

Задача № 3

Сколько единиц содержится в двоичной записи значения выражения:

42014+22015−8

?

Преобразуем выражение:

222014+22015−23=24028+22015−23

.

Число

24028

 в двоичной записи будет выглядеть как единица и (4028) нулей.

Число

22015

 — одна единица и (2015) нулей, т. е. единица будет стоять в (2016) разряде.

Получим следующую запись:

1402900000…..01201600…..0000

 и вычтем 

23=1000

.

Теперь подумаем логически. При вычитании необходимо будет занять в (2016) разряде единицу, при этом в (3) разряд придёт (10), а в остальные разряды с (2015) — по (4) единицы.

(10-1 = 1) — в (3) разряде получается ещё одна единица.

Посчитаем общее количество единиц: (2015 – 3 = 2012), не забудем единицу в (4029) разряде.

Ответ: (2013).

Значение выражения

368+620−12

 записали в системе счисления с основанием (6). Сколько нулей содержится в этой записи?

Преобразуем выражение:

628+620−206=616+620−206

.

В значении данного выражения в (21) и (17) разрядах будут стоять единицы, а в остальных разрядах — (0).

После вычитания шестеричного (20) получим следующее: во втором разряде будет (4), в разрядах с (3) по (16) будет (5), в разрядах с (18) по (20) — нули.

Посчитаем количество нулей: (20-14-1 = 5).

Ответ: (5).

Найди значение выражения

3×228+2×220+212+3×46+2×44

, если его записали в шестнадцатеричной системе счисления. Сколько значащих нулей в записи получившегося числа?

Преобразуем данное выражение. Результат нужно получить в шестнадцатеричной системе счисления, поэтому все множители, содержащие показатель степени, должны равняться (16).

3×167+2×165+163+3×163+2×162=3×167+2×165+4×163+2×162

.

Что обозначает данная запись?

3×167

 можно представить как (3) и (7) нулей,

2×165

 — как двойку и (5) нулей и т. д.

Так как речь идёт об одном числе, то в этом числе, исходя из развёрнутой записи числа (а в результате преобразований у нас получилась именно развёрнутая запись некоторого числа), в (7), (5), (3) и (2) разрядах стоят некоторые цифры.

Вычислим количество нулей.

Всего их изначально было (7) (

3×167

), поэтому (7-3=4) значащих нуля будет в записи числа.

Ответ: (4).

Задача 8 по информатике ЕГЭ относится к комбинаторике и системе счисления. Её можно решить путем написания кода. Но для этого нужно будет потратить довольно много времени. Если не понимать как это решается вручную, то код писать опасно.

Задача № 8 (первый вариант) по системе счисления и комбинаторика

Данную задачу лучше решать вручную, так как это не занимает много времени. И так первое возможное условие задачи:

задача 8 ЕГЭ

Эта задача относится к задаче с системой счисления.

Для того, чтобы решить эту задачу, нужно использовать систему счисления.

Буква Е – 0, буква Л – 1, буква М – 2, буква Р – 3, буква У-4.

В результате мы видим пятиричную систему счисления.

ЕЕЕЕ – 0000    0

ЕЕЕЛ – 0001    1

ЕЕЕМ- 0002     2

ЕЕЕР – 0003     3

ЕЕЕУ – 0004    4

ЕЕЛЕ – 0010    5

Несмотря на то, что нумерация букв начинается с нуля, а список набора букв начинается с единицы.

Раз нумерация строк начинается с 1, то набор букв ЛЕЕЕ  будет на 126 месте.

Задача № 8 ЕГЭ (второй вариант) на системы счисления и комбинаторика

Решение

АААА  00000               0

ААААО 00001             1

ААААУ 00002              2

АААОА 00010             3

Опять помним, что список начинается с единицы, поэтому 210-1 = 209

Мы работаем с числом 209, но оно дается в десятичной системе счисления.

Для того, чтобы восстановить слово, надо перевести полученное место в троичную систему счисления:

2 меньше трех, поэтому читаем число в обратном порядке: 21202

Теперь составляем из чисел буквы: УОУАУ

Ответ: УОУАУ

Задача № 8 ЕГЭ (третий вариант) системы счисления и комбинаторика

Здесь пятибуквенные слова. Опять определяем действительный номер с учетом, что нумерация идет с 1.

150-1 = 149

Присваиваем каждой букве цифры, начиная с нуля по порядку. Нумерация слов в списке начинается с единицы. А вот нумерация цифр в числе с нуля.

ЛЛЛЛЛ   00000    0

ЛЛЛЛН   00001    1

ЛЛЛЛР    00002   2

ЛЛЛЛТ   00003    3

ЛЛЛНЛ   00010    4

В результате 149 в десятичной системе счисления переводим в четверичную путем деления  149 на четыре. Затем собираем остатки с конца в начало.

системы счисления

Получаем РННН, но у нас по условию нужно пятибуквенное слово. Для этого необходимо в начало слова добавить ничего не значащий ноль: 02111

Теперь ответ будет ЛРННН

Задача № 8 ЕГЭ (четвертый вариант) на системы счисления и комбинаторика

Числа начинаются с нуля, поэтому говорим о пятиричной системе счисления:

ААААА  00000    0

ААААК  00001    1

ААААЛ  00002    2

ААААО 00003    3

ААААШ 00004    4

АААКА 00010     5

Мы сначала найдем число, а затем добавим 1.

ШКОЛА – пишем в пятиричной системе счисления – 41320

ШКОЛА  в пятиричной системе счисления 41320, в десятичной системе счисления 2710

Ответ: 2710+1 = 2711

Задача № 8 (пятый вариант) системы счисления и комбинаторика

АААА     0000   0

АААВ     0001   1

АААД    0002    2

АААП    0003    3

АААР    0004    4

ААВА    0010    5

В условии сказано, что слово не содержит гласных и не содержит одинаковых букв. Поэтому нас интересует слово: ВДПР = 1234 (система счисления пятиричная).

Буквы ставим по алфавиту.

Необходимо преобразовать в десятичную систему счисления:

системы счисления

ВДПР в пятиричной системе 1234 , в десятичной системе 194. Это число. А нужно номер, номер будет на 1 больше.

194+1 = 195

Задача № 8 ЕГЭ (шестой вариант) система счисления и комбинаторика

система счисления и комбинаторика

АААА   0000   0

АААВ   0001   1

АААД  0002    2

АААП  0003    3

АААР  0004    4

ААВА  0010    5

В условии сказано, что слово не содержит гласных и не содержит одинаковых букв. Поэтому нас интересует слово: ВДПР = 1234 (система счисления пятиричная). Буквы ставим по алфавиту.

Необходимо преобразовать в десятичную систему счисления:

ВДПР в пятиричной системе 1234 , в десятичной системе 194. Это число. А нужно номер, номер будет на 1 больше.

194+1 = 195

Ответ: 195

Задача № 8 ЕГЭ (седьмой вариант) система счисления и комбинаторика

Дано 4 буквы, система счисления четверичная. Расписываем:

ООООО    00000

ООООП    00001

ООООР    00002

ООООТ    00003 

ОООПО   00010

В четверичной системе счисления указанные в условии слова представляют собой следующие числа:

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

системы счисления и комбинаторика

Чтобы найти количество между ними, то мы должны найти разницу:

786-531 = 255

Но по условию задания надо найти количество слов, включая эти слова, то надо прибавить 1.

255+1 = 256

Ответ: 256

Задача № 8 ЕГЭ (восьмой вариант) система счисления и комбинаторика

Обозначим позиции букв в словах.

У нас всего 3 буквы.

Первую букву можно выбрать только 3 способами, вторую – тоже тремя способами, третью тоже тремя.

Задача № 8 ЕГЭ (девятый вариант) система счисления и комбинаторика

системы счисления и комбинаторика

Здесь вводится ограничение, буква К встречается только один раз.

Трехбуквенные слова.

Соответственно схематически строим схему слова:

____   _____   ______

Представьте, буква К окажется только на первом месте. Больше мы не можем использовать. Соответственно, на второе место можно поставить любую букву из оставшихся, т.е. 4 варианта.

К*4*4 = 16 (К = 1)

Но буква К может находиться и на втором месте, и на третьем месте.

4*К*4 = 16

4*4*К = 16

Далее используем комбинаторные правила сложения: 16+16+16 = 48

Ответ: 48

Решение задач по теме «Информационные модели» можно посмотреть по ссылке.

Задача № 8 ЕГЭ (десятый вариант) система счисления и комбинаторика

система счисления и комбинаторика

Всего есть 4 буквы. Слова составляем пятибуквенные.

Ограничение: в каждом слове одна гласная буква. У нас гласные буквы: И,А.

Согласные буквы встречаются любое количество раз или не встречаются совсем.

Нам необходимо рассмотреть два случая, когда мы составляем слова с буквой А, и слова с буквой И.

Итого 16*5 = 80

По аналогии составляем также слова с буквой И, получим те же самые 80 слов.

В результате: 80+80 =160

Ответ: 160 слов с этими ограничениями.

Задача № 8 ЕГЭ (одиннадцатый вариант) система счисления и комбинаторика

Условие: Василий составляет четырех буквенные коды из букв Г,Е,Р,О,Й. Каждую букву можно использовать любое количество раз, при этом код не может начинаться с буквы Й т должен содержать хотя бы одну гласную. 

Сколько различных кодов может составить Василий.

Букв 5, слова 4-х буквенные.

Есть ограничения: не должно начинаться с Й и содержать хотя бы одну гласную букву.

В этой задаче надо использовать не только комбинаторику, но и теорию множества.

Принцип

Для того, чтобы определить количество слов, которое содержит хотя бы одну гласную букву, то можно схематически раскрыть вопрос:

А – это множество кодов или слов, которые могут быть составлены по правилу задачи.

Теперь среди этого набора вычленим только те, которые вообще не содержат гласных букв (множество В)

Из А вычтем В, то получим множество С, которое содержит слова, которые содержат хотя бы одну гласную.

комбинаторика

Теперь определим сколько же будет слов в множестве А.

Слова четырехбуквенные. Кроме Й на первом месте может стоять 4 возможных буквы.

На втором месте может стоять все 5 букв по очереди.

А: 4*5*5*5 = 4*125 = 500

Помним, что Й – согласная буква

В: 2*3*3*3 = 2*27=54

Количество слов, в которых нет гласных 54

Количество слов, которые содержат хотя бы одну гласную: 500-54 = 446

Ответ: 446.

Задача № 8 ЕГЭ (двенадцатый вариант) система счисления и комбинаторика

Условие задачи: Вася составляет трехбуквенные слова, в которых есть только буквы В,Е,С,Н,А. Причем буква А используется в каждом слове хотя бы 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. 

Сколько существует таких слов, которые может написать Вася?

Задача содержит условие, при котором нужно применять при решении комбинаторику и теорию множеств.

Условия: слова трехбуквенные, количество букв – 4, слова содержат хотя бы 1 раз букву А.

Опять берем множество А в которое входят все слова с буквой А

В – множество в котором вообще нет буквы А

__ __ ___

Мощность множества А определяем следующим образом:

На первую позицию букву А можно поставить 5 способами, на вторую – 5 способами и на третью – 5 способами:

А:  5*5*5 =125

В: 4*4*4 = 64

Множество С в котором есть хотя бы одна буква А: АВ (разность)

125-64 = 61

Ответ: 61

Мы рассмотрели двенадцать видов задач по теме системы счисления и комбинаторики, которые в ЕГЭ по информатике размещаются как задание № 8. Однако, ежегодно вносятся изменения и возможно возникновение других типов задач.

Добавить комментарий