C++算法之大数加法计算的代码
如下代码段是关于C++算法之大数加法计算的代码,希望对大家有用。
{
int length;
int index;
int smaller;
int prefix = 0;
if(NULL == src1 || 0 >= length1 || NULL == src2 || 0 >= length2)
return NULL;
length = length1 > length2 ? (length1 + 1) : (length2 + 1);
assert(NULL != dest);
smaller = (length2 < length1) ? length2 : length1;
for(index = 0; index < smaller; index ++)
dest[index] = src1[index] + src2[index];
if(length1 > length2){
for(; index < length1; index++)
dest[index] = src1[index];
}else{
for(; index < length2; index++)
dest[index] = src2[index];
}
for(index = 0; index < length; index ++){
dest[index] += prefix;
prefix = dest[index] / 10;
dest[index] %= 10;
}
return dest;
}
上面算法最大的特点就是:计算的时候没有考虑10进制,等到所有结果出来之后开始对每一位进行进制处理。讨论:看到上面的算法之后,大家可以考虑一下:(1)减法应该怎么写呢?(2)乘法呢?除法呢?
C++算法之大数加法计算的代码的更多相关文章
- Java实现 蓝桥杯VIP 算法提高 大数加法
算法提高 大数加法 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个正整数a,b,输出a+b的值. 输入格式 两行,第一行a,第二行b.a和b的长度均小于1000位. 输出格式 一行, ...
- c#大数加法
在C#中,我们经常需要表示整数.但是,c#的基本数据类型中,最大的long也只能表示-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807之间的数 ...
- 【大数加法】POJ-1503、NYOJ-103
1503:Integer Inquiry 总时间限制: 1000ms 内存限制: 65536kB 描述 One of the first users of BIT's new supercompu ...
- C语言 · 大数加法
算法提高 大数加法 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个正整数a,b,输出a+b的值. 输入格式 两行,第一行a,第二行b.a和b的长度均小于1000位. ...
- A + B Problem II 大数加法
题目描述: Input The first line of the input contains an integer T(1<=T<=20) which means the number ...
- 51 Nod 1005 大数加法【Java大数乱搞,python大数乱搞】
1005 大数加法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个大整数A,B,计算A+B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度 ...
- Hat's Fibonacci(大数加法+直接暴力)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1250 hdu1250: Hat's Fibonacci Time Limit: 2000/1000 M ...
- A + B Problem II(大数加法)
http://acm.hdu.edu.cn/showproblem.php?pid=1002 A + B Problem II Time Limit: 2000/1000 MS (Java/Other ...
- ZZNU 2125:A + B 普拉斯(傻逼题+大数加法)
2125: A + B 普拉斯 时间限制: 1 Sec 内存限制: 128 MB 提交: 94 解决: 28 [提交] [状态] [讨论版] [命题人:admin] 题目描述 "别人总说 ...
随机推荐
- 解决Ubuntu无法通过ssh远程登录问题
1. 安装 open ssh: sudo apt-get install ssh sudo apt-get install openssh-server 2. 编辑配置文件,允许以 root 用户通 ...
- MySQL查询缓存总结
可以通过下面的SQL查看当前查询缓存相关参数状态: show variables like '%query_cache%'; 1) query_cache_type 查询缓存类型: 0 表示始终不适 ...
- 处理npm publish报错问题
上传项目到npm-->为社会做贡献 首先你得有一个项目 npm init 生成package.json 来设置相信息 注册登录npm:npm adduser 输入你的一些信息 查看当前npm登录 ...
- 关于python中loc和iloc方法
pandas以类似字典的方式来获取某一列的值 import pandas as pd import numpy as np table = pd.DataFrame(np.zeros((4,2)), ...
- 哆啦A梦css
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- DAY 17常用模块
一.时间模块:time 1.时间戳:time.time() # 可以作为数据的唯一标识 print(time.time) # 1554878849.8452318 2.延迟线程的运行:time.sle ...
- hive中控制文件生产个数
在有些时候,想要控制hql执行的mapper,reducer个数,reducer设置过少,会导致每个reducer要处理的数据过多,这样可能会导致OOM异常,如果reducer设置过多,则会导致产生很 ...
- docker 部署nginx
# 下载镜像 docker pull nginx # 挂载 文件 和文件夹必须存在 docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $P ...
- $.ajax的标准写法
var baseurl = "http://" //后台的url $.ajax({ url:baseurl+"后台的接口", //请求的url ...
- 判断PDF文件是否相同(通过二进制流判断)
一.Java代码 1.将PDF转为字节流 /* * @step * 1.使用BufferedInputStream和FileInputStream从File指定的文件中读取内容 ...