C ++ . Вычислите значение 2^N для заданного N .В этой задаче запрещено использовать операцию возведения в степень или функцию вычисления степени числа.​

Миша20072007 Миша20072007    2   25.11.2020 23:01    11

Ответы
свитек свитек  25.12.2020 23:01

Если вы знаете о битовых операциях, то ответ тривиальный:  1 << N (это означает следующее: взять двоичную запись числа 1 и сдвинуть её на N позиций влево, дописав N нулей.

Если не знаете, то можно написать цикл, в котором, например, N раз будет умножение на 2. Я напишу оба варианта, соответственно, программа будет выдавать два равных числа. Выбирайте тот, что вам больше нравится.

Код (C++):

#include <iostream>

int main() {

   int N;

   std::cin >> N;

   std::cout << (1 << N) << "\n";

   int power = 1;

   for (int i = 0; i < N; i++) {

       power *= 2;

   }

   std::cout << power;

}

Пример ввода:

5

Пример вывода:

32

32

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика