计算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;
}
posted @ 2025-01-08 10:27  骁翊  阅读(45)  评论(0)    收藏  举报