ЦУЙУ. Позиционные системы счисления
Скачать 0.86 Mb.
|
Ещё пример задания:Р-24. (М.В. Кузнецова) Значение арифметического выражения: 6410 + 290 - 16 записали в системе счисления с основанием 8. Сколько цифр «7» содержится в этой записи? Решение: Приведём все числа к степеням восьмерки, учитывая, что 16 = 64 - 48 =82-6∙81 6410 + 290 - 16 = (82)10 + 23∙30 – (82 – 48) = 820 + 830 – 82 + 6∙81 Перепишем выражение, располагая степени восьмёрки в порядке убывания: 820 + 830 – 82 + 6∙81 = 830 + 820 – 82 + 6∙81 Очевидно, что «семёрки» в восьмеричной записи значения выражения возникнут только за счёт вычисления разности 820 – 82, их количество равно 20-2=18 Ответ: 18. Решение (использование программы в среде Pascal ABC.NET, А. Агафонцев): В среде 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. Ответ: 18. Ещё одно решение на PascalABC.NET (П.Е. Финкель) begin var k:=0; var x:=64bi**10+2bi**90-16; while x>0 do begin if x mod 8=7 then k+=1; x:=x div 8; end; println(k); end. Решение (программа на Python, Б.С. Михлин): если доступна среда программирования на Python, можно написать программу, которая использует встроенную арифметику длинных чисел: x = 64**10 + 2**90 - 16 print( oct(x).count('7') ) ответ: 18. Ещё пример задания:Р-23. (М.В. Кузнецова) Значение арифметического выражения: 99 – 39 + 919 – 19 записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи? Решение: Приведём все числа к степеням тройки, учитывая, что 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 Перепишем выражение, располагая степени тройки в порядке убывания: 318 – 39 + 338 – 33 + 2∙31 + 2∙30 = 338 + 318 – 39 – 33 + 2∙31 + 2∙30 Сначала рассмотрим часть выражения, в которой имеется два расположенных подряд «минуса»: 318 - 39 ‑ 33: найдём разность двух крайних чисел: 318 – 33, в её троичной записи 18 – 3=15 «двоек» и 3 «нуля»; вычтем из этого числа значение 39: одна из «двоек» (на 10-й справа позиции) уменьшится на 1, остальные цифры не изменятся; итак, троичная запись разности 318 – 39 – 33 содержит 15 – 1=14 «двоек», одну «единицу» и 3 «нуля» Прибавим к полученному значению сумму: 2∙31 + 2∙30 = 223. В троичной записи результата два крайних справа нуля заменяются на «двойки», остаётся один ноль. Общее количество «двоек»: 14+2=16. Прибавление значения 338 не изменит количества «двоек» в троичном числе: слева от имеющихся цифр появятся ещё 38 – 18=20 «нулей» и одна «единица» – на 39-й справа позиции. Итак, результат, записанный в троичной системе, содержит 39 цифр. Его состав: 16 «двоек», 2 «единицы» (их позиции: 39-я и 10-я справа) и 21 «нуль» (39-16-2=21). Ответ: 16. |