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] 题目描述 "别人总说 ...
随机推荐
- linux下ifconfig命令看不到IP centos7——ens33
当前环境VMware15+centos7 在终端输入ifconfig后没有开到IP地址: 解决方法:root用户执行命令 cd /etc/sysconfig/network-scripts/ vi ...
- C# 批量新增的两种方法。
public class Test { private static readonly string strConnection = ""; public static void ...
- 练习markdown语法
这是一级标题 这是二级标题 这是三级标题 -列表试验 -据说这样无编号 编号文档 编号文档 编号文档 插入链接测试 插入图片测试 引用测试> 一蓑烟雨任平生 粗体测试我是加粗的 斜体测试我是斜体 ...
- linux下查找堆栈信息例子
- UI组件--element-ui合计行在横向滚动条下面的解决方法
使用element-ui合计功能, 因列数较多, 产生横向滚动条: 但是合计行却在滚动条下面, 拖动滚动条合计行不会跟着横向滚动. 在当前页面添加以下样式: <style lang='less' ...
- vue图片裁剪插件vue-cropper
最近做后台管理,需要用到图片裁剪,这个组件很好用,记录一下. 工作太忙,就不总结了. 链接分享:https://github.com/xyxiao001/vue-cropper
- xshell6 同时操作多个终端
当我们使用Xshell的时候,有时候需要同时建立多个会话,连接不同的服务器或者不同的用户,如何同时向所有会话发送同一指令呢?方法如下: 1.依次点击 查看 ---> 撰写 ---> 撰写 ...
- java Arrays.asList方法注意事项
1. 简介 Arrays.asList()方法可以将数组转化为长度固定的列表. 该方法强调了列表的长度是固定的,因此不能使用list的add和remove方法修改list长度. 2. 示例 impor ...
- linux 下的read write 和fread fwrite
待进一步测试啊,先占坑 --------2017/7/17 忘记之前要写什么了,只记得当时测试完得出的结论是,无论是写设备还是写文件,都用read/write是既安全又省事情的举动.还熟悉. 尽多少力 ...
- 了解计算机与操作系统发展阶段以及android操作系统的发展史
计算机与操作系统发展阶段 计算机的发展: 第一代(1946-1957年),电子管计算机 第二代(1958-1964年),晶体管计算机 第三代 (1964—1970年),集成电路数字机 第四代 (19 ...