描述:
任意给定一个正整数N(N<=100),计算2的n次方的值。
输入
输入一个正整数N。
输出
输出2的N次方的值。
样例输入
5
样例输出
32
提示:高精度输出
思路:将结果保存在数组中,从个位开始(每一位乘2加上一位取余),再对这个结果取模。
#include <iostream>
#include<string.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
using namespace std;
int main()
{
int n,i;
cin>>n;
int a[100]={0};
a[99]=1;
int b=0,t,k;
while(n--)
{
for(i=99;i>0;i--)
{
t=a[i]*2+b;//用来保存这一位乘2的结果
a[i]=t%10;//满十进一
b=t/10;//每一位进的
}
}
for(int j=0;j<100;j++)
{
if(a[j]!=0)
{
k=j;
break;
}
}//从第一位有效数字输出
for(int j=k;j<100;j++)
{
cout<<a[j];
}
return 0;
}