分析:

题意中已经分析的很清楚表明使用位运算求解,对于整数而言向左移动一位则*2,故计算多少次方便可以左移多少位,另一种解法是使用库函数pow注意该函数的返回值为双精度类型需要接取小数点后的位数。

题解1:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a = 0;
    while(scanf("%d", &a) != EOF) {
        //循环读入之后调用pow函数计算结果,pow定义在cmath头文件
        printf("%.lf\n", pow(2,a));
    }
    return 0;
}

题解2:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a = 0;
    while(scanf("%d", &a) != EOF) {
        //高效的实现可以使用左移,移动a位即为2的a次方
        printf("%d\n", 1 << a);
    }
    return 0;
}

总结:

简单位运算的使用。