【模板】C++高精度加法
if(x.length() < y.length()) //保证y始终时是位数较短的数字字符串
swap(x, y);
int delta = x.length() - y.length(); //计算两个字符串的长度差
for(int i = ; i < delta; i++) //在较短的字符串前补0,使其长度等于较长的字符串的长度
y = "" + y;
之后开始从低位到高位进行运算
#include <iostream>
#include <string>
#include <algorihtm>
using namespace std;
string add_int(string_x, string _y)
{
string x = _x, y = _y;
string result;
int jw = ; if(x.length() < y.length()) //保证y始终时是位数较短的数字字符串
swap(x, y);
int delta = x.length() - y.length(); //计算两个字符串的长度差
for(int i = ; i < delta; i++) //在较短的字符串前补0,使其长度等于较长的字符串的长度
y = "" + y;
//从低位到高位进行运算
for(int i = x.length() - ; i >= ; i--)
{
int a, b ,sum;
a = x[i] - '';
b = y[i] - '';
sum = a + b + jw;
if(sum >= )
{
jw = ;
result += char(sum % + '');
}
else
{
jw = ;
result += char(sum % + '');
}
}
//若循环结束后,仍有进位,说明结果超出了加数中较长的一个的位数,根据加法的法则,应在结果前面加“1”
if(jw == )
result += "";
//反转结果。因为前面是从后往前运算,而字符串是从前往后加的,所以要反转一下
reverse(result.begin(), result.end());
return result;
}
int main()
{
string a, b;
cin >> a >> b;
cout << add_int(a, b);
return ;
}
声明:CSDN上的账号“奔跑的小蜗牛”也是我本人的账号
【模板】C++高精度加法的更多相关文章
- NEFU 2016省赛演练一 F题 (高精度加法)
Function1 Problem:F Time Limit:1000ms Memory Limit:65535K Description You know that huicpc0838 has b ...
- java算法 蓝桥杯 高精度加法
问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263.要想计算更加规模的数,就要用软件来扩展了,比如用数组或 ...
- 用c++实现高精度加法
c++实习高精度加法 最近遇到一个c++实现高精度加法的问题,高精度问题往往十复杂但发现其中的规律后发现并没有那么复杂,这里我实现了一个整数的高精度加法,主要需要注意以下几点: 1:将所需输入的数据以 ...
- 高精度加法——经典题 洛谷p1601
题目背景 无 题目描述 高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b] 输入输出格式 输入格式: 分两行输入a,b<=10^500 ...
- 高精度加法--C++
高精度加法--C++ 仿照竖式加法,在第一步计算的时候将进位保留,第一步计算完再处理进位.(见代码注释) 和乘法是类似的. #include <iostream> #include < ...
- hdu1002 A + B Problem II(高精度加法) 2016-05-19 12:00 106人阅读 评论(0) 收藏
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- POJ 3181 Dollar Dayz(全然背包+简单高精度加法)
POJ 3181 Dollar Dayz(全然背包+简单高精度加法) id=3181">http://poj.org/problem?id=3181 题意: 给你K种硬币,每种硬币各自 ...
- leetcode 67. Add Binary (高精度加法)
Given two binary strings, return their sum (also a binary string). For example,a = "11"b = ...
- leetcode 66. Plus One(高精度加法)
Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...
随机推荐
- 关于slf4j log4j log4j2的jar包配合使用的那些事
由于java日志框架众多(common-logging,log4j,slf4j,logback等),引入jar包的时候,就要为其添加对应的日志实现.. 不同的jar包,可能用了不同的日志框架,那引用了 ...
- 前端逼死强迫症系列之Html
概述 HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器 ...
- @Transactional注解详细用法
概述 事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性.Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型, ...
- Linux设备驱动程序 之 延迟执行
长延迟 有些驱动程序需要延迟比较长的时间,即长于一个时钟滴答: 忙等待 如果想把执行延迟若干个时钟滴答,或者对延迟的精度要求不高,最简单的实现方法就是一个监视jiffies计数器的循环:这种忙等待的实 ...
- Django中的 返回json对象的方式
在返回json对象的几种方式: 1 from django.shortcuts import render, HttpResponse # Create your views here. from d ...
- LC 984. String Without AAA or BBB
Given two integers A and B, return any string S such that: S has length A + B and contains exactly A ...
- Python日志模块应用
# encoding:utf-8 import logging import time class Logs: def __init__(self): self.logger = logging.ge ...
- php中如何传递Session ID
一般通过在各个页面之间传递的唯一的 Session ID,并通过 Session ID 提取这个用户在服务器中保存的 Session 变量,来跟踪一个用户.常见的 Session ID 传送方法主要有 ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_12.RabbitMQ研究-工作模式-统配符工作模式测试
路由模式: 1.每个消费者监听自己的队列,并且设置带统配符的routingkey. 2.生产者将消息发给broker,由交换机根据routingkey来转发消息到指定的队列. 创建测试用例 交换机的名 ...
- MIGO 收货
ls_code-gm_code = '01'. 01 - MB01 - Goods Receipts for Purchase Order 02 - MB31 - Goods Receipts for ...