栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

高精度算法:大整数加法

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

高精度算法:大整数加法

又是刚学c++的朋友,学会了A+B的问题后,就自己编程序用来算各种数,但是有时候算二三十位的时候,系统就会错误,这是为什么呢?

因为c++里定义的变量有限制,即使是最大的long long也只能承受十九位的数,这时候我们就要换一种算法了,高精度.

高精度主要用的是数组各个位相对

主要代码位

 z=a[i]+b[i]+z;

这里有个魔鬼细节:但我的两个最大位相加时,可能会多出一位,而我们的数组就少了一位,变要加长数组的长度;。

if(z[lc]!=0)
{
	lc++;
}

上全代码

#include
#include
using namespace std;
string a,b;
int la,lb,lc,x[1010],y[1010],z[1010],k;
int main()
{
	cin>>a;
	cin>>b;
	la=a.length();
	lb=b.length();
	for(int i=0;ilb)
	{
		lc=la;
	}
	else lc=lb;
	for(int i=0;i=0;i--)//最后要倒着输入数组
	{
		cout< 

可以去信息学奥赛一本通(C++版)在线评测系统网上1168上测试

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

版权所有 (c)2021-2022 MSHXW.COM

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