大家好,欢迎来到IT知识分享网。
12:计算2的N次方
总时间限制:
1000ms
内存限制:
65536kB
描述
任意给定一个正整数N(N<=100),计算2的n次方的值。
输入
输入一个正整数N。
输出
输出2的N次方的值。
样例输入
5
样例输出
32
提示
高精度计算
分析及代码:[作者:张欣雨]
分析:通过提示可知要用数组模拟计算和进位,是属于大数处理题目的一种。采用长度为100的数组来存储结果,对于每次乘2,从最后一位开始,乘2,如果有进位,那么此位的值为乘积%10;前面的数乘2后,判断后面是否有进位,有进位则加1,再判断此位是否有进位。从后位遍历到第一位,即可以得到最终结果。
#include <iostream>
using namespace std;
int main()
{
int a[100],n,k;
cin>>n;
a[0]=1;
a[1]=1;
for(int i=1;i<=n;i++)
{
k=0;
for(int j=1;j<=a[0];j++)
{
a[j]=a[j]*2+k;
k=a[j]/10;
a[j]%=10;
}
if(k>0)
{
a[0]++;
a[a[0]]=k;
}
}
for(int i=a[0];i>0;i–)
cout<<a[i];
return 0;
}
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25830.html