描述
任意给定一个正整数N(N≤100),计算2的n次方的值。
格式
输入格式
输入一个正整数N。
输出格式
输出2的N次方的值。
样例
输入样例
5
输出样例
32
限制
时间限制: 1000 ms
内存限制: 65536 KB
思路:模拟乘法进行高精度计算
#include <iostream>
#include <math.h>
#include <string.h>
using namespace std;
int main ()
{
int n, ans[105], tmp=0, index;
memset(ans, 0, sizeof(ans));
ans[0] = 1;
scanf ("%d", &n);
while (n--) {
tmp = 0; //刷新
for (int i=0; i<101; i++) { //模拟乘法运算,tmp为逢十进位
ans[i] = ans[i]*2 + tmp;
tmp = ans[i] /10;
ans[i] = ans[i] % 10;
}
}
for (int i=101; i>=0; i--) {
if (ans[i]) {
index = i;
break;
}
}
for (int i=index; i>=0; i--) {
printf ("%d", ans[i]);
}
return 0;
}