栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

刷题之路:1280 - 【基础】求2的n次方(高精度)题解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

刷题之路:1280 - 【基础】求2的n次方(高精度)题解

大家好,我是屁孩君,今天屁孩君给大家分享一道高精度的题。

求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;j 

3:逐位进位

if(a[j]>=10)
{
		a[j+1]+=a[j]/10;
		a[j]%=10;
}

4:判断第k位上是否有数,有的话k加1

if(a[k]!=0)
{
	k++;
}

话不多说,直接上完整代码!!!

#include
using 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<

今天屁孩君就给大家分享到这了!
古德拜!!!
记得一键三连哦!!!

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038966.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号