
Python
Помогите написать программу пожалуйста
Помогите написать программу пожалуйста
На питоне

Как на данном ресурсе принято, вычисляем выражение, да считаем единицы.
Есть, конечно, и нормальный способ это решить, т.е. без вычисления астрономических степеней, но оно вам надо? Крутите бесконечные циклы, а не хватит мощности кластера - закажите в 10 раз больше серверов, распараллельте свои циклы. Сейчас это тренд. И главное - код пишется за 10 секунд, не надо думать час, а время-то идёт.
А если вдруг на эту тему набредёт кто-то, чьи познания не ограничиваются решением квадратных уравнений и записью строчек в обратном порядке, то решается это так. Записываем выражение как линейную комбинацию степеней восьмёрки:
print(oct(7 * 256 ** 2912 + 5 * 64 ** 1954 - 5 * 8 ** 1991 - 4 * 8 ** 1980 - 2022).count('1'))
Ответ: 1.Есть, конечно, и нормальный способ это решить, т.е. без вычисления астрономических степеней, но оно вам надо? Крутите бесконечные циклы, а не хватит мощности кластера - закажите в 10 раз больше серверов, распараллельте свои циклы. Сейчас это тренд. И главное - код пишется за 10 секунд, не надо думать час, а время-то идёт.
А если вдруг на эту тему набредёт кто-то, чьи познания не ограничиваются решением квадратных уравнений и записью строчек в обратном порядке, то решается это так. Записываем выражение как линейную комбинацию степеней восьмёрки:
7 ∙ 256²⁹⁵² = 7 ∙ 2 ∙ 2²³⁶¹⁶ = 1 ∙ 8⁷⁸⁷³ + 6 ∙ 8⁷⁸⁷²
5 ∙ 64¹⁹⁵⁴ = 5 ∙ 2¹¹⁷²⁴ = 5 ∙ 8³⁹⁰⁸
2022 = 3 ∙ 8³ + 7 ∙ 8² + 4 ∙ 8 + 6 = 8⁴ - 4 ∙ 8³ - 0 ∙ 8² - 3 ∙ 8 - 2
Мы видим, что у нас есть единица в коэффициенте при старшей степени (он равен 16). Вычитание 5 на позиции 1991 приведёт к заёму из разрядов 1992-3907, в которых образуются семёрки, 5 на позиции 1991 превратится в 3, а 5 на позиции 3908 превратится в 4. До 16 при 7872 заём даже не дойдёт. При вычитании 4 на позиции 1980 образуются семёрки в разрядах 1981-1990, 3 на позиции 1991 превратится в 2, а на позиции 1980 останется 4. При вычитании 2022 (3746 восьмеричного) перенос превратит 4 на позиции 1980 в 3, на позициях от 4 до 1979 будут семёрки, а в младших разрядах останется то, что я написал выше: 4032. Никакие из этих цифр не являются единицами, кроме одной-единственной в самом старшем разряде. Поэтому ответ: 1 единица. И это вычисляется без всякого Питона.Похожие вопросы
- Помогите написать программу которая посчитает количество строк в отзыве
- Помогите написать программу на Python, моя версия кода на скрине, вроде всё работает, но автопроверка не проходит.
- Помогите написать программу на python
- Помогите написать программу на Паскале
- Помогите написать программу на паскале
- Python программирование. Помогите написать программу.
- 1) Напишите программу, которая будет принимать числа от пользователя и суммировать их, пока он не напишет слово «sum».
- Помогите, пожалуйста, написать программу
- Простые числа.Напишите программу
- Программирование на питон, нужно написать программу