大家好,我是屁孩君,今天屁孩君给大家分享一道高精度的题。
求2的n次方!(0<=n<=100)
输入
从键盘读入一个整数n!
输出
请输出2的n次方!
样例
输入
100
输出
1267650600228229401496703205376
首先,算法呢也很简单,定义一个数组,表示结果,数组的第1个元素要是1,不然怎么乘都是0。
屁孩君先写一下步骤
1:将数组a的a[0]赋值为1
a[0]=1;
2:将每一位上都乘上2
for(int j=0;j3:逐位进位
if(a[j]>=10) { a[j+1]+=a[j]/10; a[j]%=10; }4:判断第k位上是否有数,有的话k加1
if(a[k]!=0) { k++; }话不多说,直接上完整代码!!!
#includeusing namespace std; int a[100]; int main() { int n,k=1; cin>>n; a[0]=1; for(int i=1;i<=n;i++)//循环次方 { for(int j=0;j =10)//进位 { a[j+1]+=a[j]/10; a[j]%=10; } } if(a[k]!=0) { k++;//位数加一 } } for(int i=k-1;i>=0;i--)cout< 今天屁孩君就给大家分享到这了!
古德拜!!!
记得一键三连哦!!!