LuoguB2034 计算 2 的幂 题解

Content

给定整数 \(n\),求 \(2^n\)

数据范围:\(0\leqslant n<31\)

Solution

第一种各位都能想得到的,直接循环 \(n\) 次,往答案里面乘以 \(2\),输出答案即可。这里主要介绍下面会讲到的第二种。

向各位介绍一个左移运算符 <<(注意这里和 cout 的输出格式区分开来!),他表示在二进制下把数字同时向左移动,低位以 \(0\) 补充。由于这是 \(2\) 进制,所以向左移一位意味着这个数字乘以 \(2\),也就是说,将这个数字的二进制向左移 \(n\) 位,代表着这个数字乘以了 \(2^n\)

因此,第二种方法就显而易见了——我们用左移运算符得到的答案就是 1 << n

Code

#include <cstdio>
using namespace std;

int main() {
    int a;
    scanf("%d", &a);
    printf("%d", 1 << a);
    return 0;
}
posted @ 2021-12-15 21:59  Eason_AC  阅读(59)  评论(0)    收藏  举报