Sonya112
13.09.2020 22:37

Запишіть мовою програмування​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
33даник747
20.12.2021 09:22
101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0101001010 101010100 0101001010 0110011
101001001 010110101 101001010 0101001010 101010100 0101001010 0110011101001001 010110101 101001010 0
0,0(0 оценок)
Ответ:
dariaskaldina
28.10.2020 21:33

(см. объяснение)

Объяснение:

Решая задачу "в лоб", нам потребовалось бы умножить число само на себя ровно 147 раз. Это много, потому попробуем оптимизировать алгоритм. Заметим, что 147_{10}=10010011_{2}, а x^{147}=x^{128}\times x^{16}\times x^2\times x^1. Изначально имеем число x. Пусть y=147 - степень. Пусть res=1 - наш будущий ответ. На каждой итерации цикла будем умножать x сам на себя, а y целочисленно делить на 2. При этом заметим, что когда y\%20, то нам надо умножить текущий результат r на x. Таким образом, всего за 8 итераций (вместо 147!) мы можем возвести некоторое число в степень 147.

Покажем, как написать это на C++:

#define ll long long

ll bpow(ll x, ll y) {

   ll r = 1;

   while (y > 0) {

       if (y % 2 > 0) {

           r *= x;

       }

       x *= x;

       y /= 2;

   }

   return r;

}

Задание выполнено!

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота