ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.11.2023
Просмотров: 2646
Скачиваний: 9
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
+ (23)800 – 22 – 21 = 24032 – 22018 + 22400 – 26 – 24
-
перестроим слагаемые в порядке уменьшения степеней двойки
-
вспомним, что число 2N-1 в двоичной системе записывается как N единиц:
,
а число 2N–2K при K < N записывается как N–K единиц и K нулей:
-
согласно п. 2, число 22400 – 22018 запишется как 382 единицы и 2018 нулей -
добавляем старшее слагаемое 24032, получаем число 24032 + 22400 – 22018, в котором 383 единицы и в конце (после последней единицы) – 2018 нулей:
-
выделим из этого значения последнюю единицу со следующими 2018 нулями как отдельное слагаемое (число 22018):
-
согласно п. 2, число 22018 – 26 запишется как 2012 единиц и 6 нулей; также выделим последнюю единицу с последующими нулями как отдельное слагаемое:
-
теперь остаётся найти, сколько единиц будет в двоичной записи числа 26 – 24, согласно п. 2 находим, что оно содержит 2 единицы -
таким образом, общее число единиц равно 382 + 2011 + 2 = 2395 -
ответ: 2395.
-
приведём все числа к степеням двойки, разложив 80 как 26+24
-
перестроим слагаемые в порядке уменьшения степеней двойки
-
представим – 22018 = – 22019 + 22018 и – 26 = – 27 + 26
24032 + 22400 – 22019 + 22018 – 27 + 26– 24
-
слагаемое 24032 в двоичной записи содержит 1 единицу -
слагаемое 22400 – 22019 содержит 381 единицу (число 2N–2K при K < N в двоичной системе записывается как N–K единиц и K нулей:
) -
слагаемое 22018 – 27 содержит 2011 единиц, слагаемое 26– 24 содержит 2 единицы -
позиции единиц во всех этих слагаемых не совпадают, поэтому общее количество единиц равно 1 + 381 + 2011 + 2 = 2395
-
приведём все числа к степеням двойки, разложив 80 как 26+24
-
перестроим слагаемые в порядке уменьшения степеней двойки
-
выражение 22400–24 дает 2396 единиц и 4 нолика в конце, откуда вычеркиваем (заменяем на ноль) единичку, стоящую на седьмом месте справа (26) и, соответственно на 2019 месте справа (22018). Следовательно, остается 2394 единички. -
С учетом того, что 24032 дает нам одну единицу, в итоге получаем 2395 единиц -
Ответ: 2395
Ещё пример задания:
Р-15. Решите уравнениеОтвет запишите в шестеричной системе счисления. Основание системы счисления указывать не нужно.Решение:
-
удобнее всего перевести все числа в десятичную систему, решить уравнение и результат перевести в шестеричную систему -
получаем
-
уравнение приобретает вид
, откуда получаем
-
переводим 15 в шестеричную систему счисления:
-
ответ: 23.
-
можно (но сложнее) решить задачу с помощью программы:
-
ещё один вариант программы (Б.С. Михлин):
-
ответ: 23.
Ещё пример задания:
Р-14. Запись десятичного числа в системах счисления с основаниями 3 и 5 в обоих случаях имеет последней цифрой 0. Какое минимальное натуральное десятичное число удовлетворяет этому требованию?Решение:-
если запись числа в системе счисления с основанием N заканчивается на 0, то это число делится на N нацело -
поэтому в данной задаче требуется найти наименьшее натуральное число, которое делится одновременно на 3 и на 5, то есть, делится на 15 -
очевидно, что это число 15.
-
можно (но сложнее) решить задачу с помощью программы:
x3 += str(x%3)x //= 3x3 = x3[::-1][-1]# последняя цифра числаx = ix5 = ''while x > 0:x5 += str(x%5)x //= 5x5 = x5[::-1][-1]if x3 == "0" and x5 == "0":print(i)break
-
ответ: 15.
-
Используется тот факт, что последняя цифра в записи числа в системе счисления с основанием N – это остаток от деления этого числа на N:
-
ответ: 15.
Ещё пример задания:
Р-13. Запись числа 6710 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Укажите основание этой системы счисления N.Решение:-
поскольку запись в системе счисления с основанием N заканчивается на 1, то остаток от деления числа 67 на N равен 1, то есть при некотором целом
имеем
-
следовательно, основание N – это делитель числа 66 -
с другой стороны, запись числа содержит 4 цифры, то есть
-
выпишем кубы и четвертые степени первых натуральных чисел, которые являются делителями числа 66:
-
видим, что из этого списка только для числа N = 3 выполняется условие
-
таким образом, верный ответ – 3. -
можно сделать проверку, переведя число 67 в троичную систему 6710 = 21113
-
можно (но сложнее) решить задачу с помощью программы:
x_N += str(x%i)x //= ix_N = x_N[::-1]# разворот числаif x_N[-1]== "1" and len(x_N) == 4:print(i)break
-
ответ: 3.
-
Если при переводе из 10-й в N-ю систему счисления очередную полученную цифру дописывать слева к найденным ранее цифрам (т.е. так, как мы и делаем при ручном переводе), то не нужен будет разворот числа. -
Для i > 10 надо учитывать, что цифра может быть буквой. -
Верхняя граница основания 99 в цикле for i завышена. Арабских цифр и латинских букв хватит только для оснований до 10+26=36. Далее нет общепринятых правил обозначения цифр (если хотим получать N-ичное представление числа).
-
возможен второй вариант: без представления всего числа в N-й системе счисления; здесь можно брать основание больше 36.
-
ответ: 3.