计算2的n次方
计算2的n次方
描述
任意给定一个正整数N(N<=100),计算2的n次方的值。
输入
输入一个正整数N。
输出
输出2的N次方的值。
样例输入
5
样例输出
32
题意:
输入一个正整数n,求2的n次方。
思路:
用b存储现在的位数,c存储现在的进位,a数组存储每位数字。用a[j]*2+c求出
第j位的结果,再求出进位,把a[j]%10,让它变成1位数,然后判断是否让位数增
加 ,最后输出时要倒着输出。
代码:
#include<bits/stdc++.h>
using namespace std;
int n,a[200]={0,1},b=1/*位数*/,c=0/*进位*/;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=b;j++){
a[j]=a[j]*2+c; //第j位的结果
c=a[j]/10; //进位
a[j]%=10; //把a[j]变成1位数
if(c!=0&&j==b){ //如果有进位并且循环到最后一位就把b+1
b++;
}
}
}
for(int i=b;i>=1;i--){
cout<<a[i]; //倒着输出
}
return 0;
}