进行大数相除的一个简单思路是:从被除数中减去除数,每减去一次,就将结果加1,直到被除数小于除数为止,此时的被除数即为大数求余的余数。从被除数中减去除数使用的是大数减法,结果+1使用的是大数加法。

大数相减

使用 string 类,便于字符串操作;

void BigNumSub(string& s1, const string& s2)
{int l1 = s1.length(), l2 = s2.length();int t1 = l1, t2 = l2;int i = 0;int carrier = 0;while (t2 > 0){int d1 = s1[l1 - 1 - i] - '0';int d2 = s2[l2 - 1 - i] - '0';if (d1 - d2 - carrier >= 0)s1[l1 - 1 - i] = d1 - d2 - carrier + '0';else{s1[l1 - 1 - i] = d1 - d2 - carrier + 10 + '0';carrier = 1;}++i;--t2;}int s = s1.find_first_not_of("0");s1 = s1.substr(s);
}

大数相除

References

[1] C语言大数相除及求余(一种方法)

【笔试/面试】—— 从大数相减到大数求除(大数求余)相关推荐

  1. 大数相乘、大数相加、大数相减Java版本

    为什么80%的码农都做不了架构师?>>>    题目:两个非常大的数字相乘(相加,相减) 该题目在java中可以使用BigInteger类中的方法来实现.否则的话可以使用如下方式来实 ...

  2. MiOJ 3. 大数相减(字符串减法)

    1. 题目 描述 两个长度超出常规整形变量上限的大数相减,请避免使用各语言内置大数处理库,如 Java.math.BigInteger 等. 输入 有 N 行测试数据,每一行有两个代表整数的字符串 a ...

  3. 大数相减(解析国密sm2_bn_sub算法与自定义算法)

    探讨大数相减前,我们先来了解一下规律性东西. 比如:一个unsigned char 的数加上一个unsigned char 的最大数,结果会有是什么呢,看下面例子 unsigned char a = ...

  4. 带小数的大数相加,大数相减C++实现

    今天我们带来string类的含小数的大数相加.相减的实现过程,具体代码如下 #include<iostream> #include<string> #include<cc ...

  5. zcmu-1182(大数相减)

    1182: a-b Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 419  Solved: 165 [Submit][Status][Web Boa ...

  6. 求最大公约数和最小公倍数——辗转相除法(欧几里得算法)、更相减损术、stein算法

    辗转相除法-- 辗转相除法求最大公约数的原理: 两个整数其中较小的数 和 两数相除(较大数除较小数)的余数(使用递归)的最大公约数. 辗转相除法求最小公倍数的原理: 两个整数分别除以最大公约数的结果相 ...

  7. 转:九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)

    分类: 05.MS 100' original 2012-09-13 12:38 108951人阅读 评论(346) 收藏 举报 目录(?)[+] 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试 ...

  8. 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题(10.29)

    文章出处:http://blog.csdn.net/v_july_v/article/details/7974418 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题 (参与算法&面 ...

  9. 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试六十题 10 12

    http://blog.csdn.net/v_july_v/article/details/7974418 九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔/面试五十题 「以下所有任何题目所给的点评里的 ...

最新文章

  1. .Net+SQL Server企业应用性能优化笔记3——SQL查询语句
  2. “树人杯”暨第三届辽宁科技大学校园程序设计竞赛正赛I 充分利用学习卡(粉)...
  3. 控制车辆运行的19个神经元
  4. 【转】【Centos】Centos下用upstart管理自己的服务程序
  5. C#读取Excel显示到repeater中
  6. Django的MEDIA_ROOT和STATIC_ROOT
  7. 一招让你的百度网盘免费不限速下载,每秒宽带满速下载
  8. 在线分析仪器(四)在线气体分析成套系统简述
  9. 华为二层网络隔离与互通(vlan隔离与端口隔离)
  10. hdu5773 The All-purpose Zero(DP)
  11. java hypot_static double hypot(double x, double y)
  12. uni app video、视频播放开发
  13. 杭电AI学霸班:考研上岸3清北8浙大,还没毕业年薪拿百万
  14. 有趣的灵魂万里挑一:从智能座舱看汽车进化史
  15. Excel操作技巧:三列内容合并生成到另外一列中;在判断某列里面的值在另外列中是否存在
  16. 浙江省CIO峰会|数据安全+数字化转型,美创特色实践获“年度数字化赋能服务商”
  17. p2.第一章 Python基础入门 -- 冯诺依曼体系和计算机基础 (二)
  18. UVA1335-Beijin Guards(二分)
  19. 开博第一篇 往后余生,唯愿你幸福
  20. 有序关系中的上界+上确界+下界+下确界

热门文章

  1. vertica数据库将一个字段用逗号分割与拼接
  2. MyBatis----resultMap的使用
  3. Redis之 介绍和安装
  4. CUDA中二级指针表示二级数组
  5. 【muduo源码分析 】 MutexLock和MutexLockGuard封装
  6. QT5之修改程序图标
  7. Java网络编程:TCP实现聊天
  8. NXP S32K RTC模块手册中文
  9. django缓存优化(二)
  10. 解决百度富文本框中添加的表格页面获取后不显示表格边框的问题