描述
不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
输入描述:
多组输入,每一行输入整数n(0 <= n < 31)。
输出描述:
针对每组输入输出对应的2的n次方的结果。
示例1
输入:
2 10
复制输出:
4 1024
题目已经给出方法,使用左移<<来计算2的N次方
这题考察的是位的了解,
有两种思路,一种是按照人的思维,2的n次方,但对于计算机来说是2的n-1次方,就是从2开始左移n-1位,毕竟位的起始是1,。
另一种思路就是计算机的思路 1的n次方,也就是从1开始移动n位。
#include<stdio.h>
int main()
{
int a=0;
while(scanf("%d",&a)!=EOF)
{
while(getchar()!='\n')
{
;
}
if(a>0&&a<31)
{
a=1<<a;
printf("%d\n",a);
}
else
printf("请重新输入\n");
}
return 0;
}