Домашние задания: Информатика

Как решить эту задачу

Значение арифметического выражения 64^10 + 2^90 - 16 записали в системе счисления с основанием 8. Сколько цифр «7» содержится в этой записи?
    Валерий, тут потребовалась сообразительность!!!

  Необходимо так преобразовать выражение, чтобы в каждом слагаемом присутствовала степень по основанию 8.

      64^10 = (8^2)^10 = 8^20

      2^90 = (2^3)^30 = 8^30

      16 = 2*8^1

  В восьмеричной системе счисления любая целая степень по основанию 8 записывается как цифра 1 и справа несколько нулей; количество нулей равно показателю степени. Например,

      8(d) = 1 * 8^1 = 10(q)
      64(d) = 1 * 8^2 = 100(q)

      •   •   •

      8^30(d) = 1000000000000000000000000000000(q)

  Получается 1000000000100000000000000000000(q) – 20(q)

  Здесь снова уместно проявить смекалку: видим, что при вычитании младших цифр получаем 0 – 0 = 0 ≠ 7, а значит, младшие разряды на ответ не влияют! Предлагаю и уменьшаемое, и вычитаемое разделить на 10(q) (то есть на 8). В уменьшаемом останется 30 цифр, в вычитаемом — только одна — цифра 2.

  Ещё три акта сообразительности:
    I. Вспомним, что если из степени по основанию 10 вычесть 1, то количество цифр уменьшается на 1, и каждая из этих цифр ровно на 1 меньше чем 10. Не забываем, что в 8-чной системе 10(q) = 8(d), следовательно 10^n – 1 = 777 … 777, где количество цифр равно n.
    II. Соображаем, что из двух огромных слагаемых бо́льшее при вычитании не страдает (старшие разряды не изменяются), поэтому бо́льшее попросту выбрасываем. Достаточно вычислить 8^19 – 2.
    III. Вместо того, чтобы вычитать двойку, можно дважды вычесть единицу. Сначала получим запись из 19 семёрок, потом — 18 семерок и цифра 6.

  Результат: 18.
Сергей -Sik
Сергей -Sik
16 172
Лучший ответ
Сергей -Sik 1000000000077777777777777777760 — значение выражения, записанное в восьмеричной системе счисления.