题目描述:不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
输入描述:多组输入,每一行输入整数n(0 <= n < 31)。
输出描述:针对每组输入输出对应的2的n次方的结果。
代码:
#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.n));
}
return 0;
}
知识点:EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。