一、题目:一个大整数除以一个整数(低精度数)

输入一个大于0的大整数a,长度不超过100位,求出除以一个整数b,输出得到的商和余数。

输入: 2132104848488485 13

输出:164008065268345 0

二、思路:

1.输入大整数的数字串和整数b

用string存储大整数的数字串,用int存储整数b

2.将数字串从低位往高位存储到数组a中

3.利用竖式计算,c=a/b

(1)首先,另余数为x=0;

(2)让余数乘以10,和高位的第一个位置的数相加,然后除以b,得到此位置的商;

(3)求出此时的余数x;

(4)接着往高位的下一位走,重复(2)(3)步骤,直到最后一位;

4.输出商和余数

三、实现程序

//  main.cpp
//  highPrecision9:一个高精度数除以一个整数
//  c = a / b
//  Created by ChanJose on 2019/1/19.
//  Copyright © 2019年 ChanJose. All rights reserved.
//  测试数据:
//  输入:
//      2132104848488485 13
//  输出:
//      164008065268345 0#include <iostream>
#include <string>
using namespace std;const int MAX = 101;int main(int argc, const char * argv[]) {int b, i, la, lc, x;string str;int a[MAX], c[MAX];while(cin >> str >> b) { // 1.输入大整数和整数bmemset(a, 0, sizeof(a)); // 清零memset(c, 0, sizeof(c));// 获取大整数的长度la = (int)str.size();for(i = 0; i < la; i++)a[la-i-1] = str[i] - '0'; // 2.将数字串从低位往高位存储到数组a中// 3.计算c=a/bx = 0; // 余数初始为0for(i = la-1; i >= 0; i--) {c[i] = (x * 10 + a[i]) / b; // 将高位得到的余数乘以10,再加上新位置的数,再除以bx = (x * 10 + a[i]) % b; // 得出余数}lc = la;while(lc > 1 && c[lc-1] == 0) // 4.删去多余的0lc--;// 5.从高位往低位输出商for(i = 0; i < lc; i++)cout << c[lc-i-1];// 空格输出余数cout << " " << x << endl;}return 0;
}

测试结果:

C++ 高精度除法运算(c=a/b)相关推荐

  1. C++ 大整数运算 高精度除法

    前言 这篇文章主要是对于大整数类的设计过程中,如何实现并改进长除法(模拟竖式法)的一个总结. 高精度除法的分类和比较 虽然有些文章在讨论大整数的除法运算时,喜欢分成高精度除以高精度和高精度除以低精度( ...

  2. bigdicmal除法精度设置_使用java求高精度除法,要求保留N位小数

    题目要求是高精度除法,要求保留N位小数(四舍五入),并且当整数部分为0时去除0的显示 import java.math.BigDecimal; import java.util.Scanner; pu ...

  3. 高精度除法算法(大数除于小数)

    高精度除法(大数除于小数) 思想:和人一样,人是从高位除,得出结果.但有点不一样的是每次除于之后的余数,如果高位后面还有数没有数的话,需要把余数乘于10,再加上下一位数.继续后面的运算,最后再把前置的 ...

  4. 2.4 定点除法运算

    学习目标: 学习如何实现一个基于余数查商法的定点除法运算,并能够正确地进行除法计算,包括处理舍入误差和溢出等问题.具体要求包括: 熟悉定点数的表示方法和定点数的基本运算法则,理解定点除法运算的基本概念 ...

  5. 定点数的除法C语言,FPGA定点小数计算(二)——除法运算

    0 引言 在四则运算中,除法最为复杂,在时间上和空间上的开销都比较大.因此很多算法都极力避免进行除法运算,或者采用其他的方案来代替除法运算.但是,除法运算作为基本的四则运算之一,在很多情况下依旧是不可 ...

  6. JS中bignumber处理高精度小数运算的使用

    JS中bignumber处理高精度小数运算的使用 安装或引用 bignumber.js的API地址: 静态方法 实例方法 项目开发中发现精度丢失的问题,如0.1+0.2 = 0.30000000000 ...

  7. SQLServer中进行sql除法运算结果为小数时显示0的解决方案

    SQLServer中进行sql除法运算结果为小数时显示0的解决方案 参考文章: (1)SQLServer中进行sql除法运算结果为小数时显示0的解决方案 (2)https://www.cnblogs. ...

  8. 中石油-高精度除法-java版

    问题 G: [高精度]高精度数除以低精度数I 时间限制: 1 Sec  内存限制: 512 MB 提交: 19  解决: 15 [提交][状态][讨论版] 题目描述 修罗王聚集了庞大的暗元素以施展隐匿 ...

  9. 使用Java处理除法运算的陷阱

    除法运算谁不会啊,很多人不屑一顾,其实除法.求余运算有一些陷阱.一旦计算发生了问题,还很不好找.不好找的原因主要是问题的偶然性太强,如果你知道可能发生什么问题,你的代码就可以写得更安全. 数学除法规定 ...

最新文章

  1. HDU1201 18岁生日【日期计算】
  2. join为什么每个字符都分割了 js_JS截取与分割字符串常用技巧总结
  3. ARM汇编之MOV PC,LR
  4. Ie html button消失,input 按钮在IE下显现不一致的兼容问题
  5. 创建可按比例调整的布局的 Windows 窗体
  6. 批处理之坑爹的感叹号和变量延迟扩展
  7. TCP/IP,Http,Socket,XMPP的区别
  8. 远控免杀专题(19)-nps_payload免杀
  9. 归并排序 java_马士兵说之归并排序
  10. 8代cpu能跑linux,Intel公布6/7/8代桌面CPU打漏洞补丁性能结果:影响很小
  11. image copy oracle,RMAN删除image copy时遇到的问题
  12. python中判断字符串的常用操作
  13. TortoiseGit bonobo gitserver记住帐号密码
  14. (32) css—opcity属性
  15. LINUX中nagios客户端安装步骤及遇到问题
  16. 连续亏损的哈啰,转型多元化困难重重
  17. 服务器被攻击ip显示国外,服务器被不同的IP攻击怎么破?
  18. 关于时间轴发展历程等PPT模板展现方式的探讨
  19. Delphi Thread 多线程编程(6)
  20. Pygame 官方文档 - pygame.key

热门文章

  1. ORACLE 取唯一数据
  2. ISE verilog 综合错误提示:ERROR:Xst:880 - Johnson_source.v line 45: Cannot mix blocking and non blocking
  3. Bootstrap按钮元素使用方法
  4. JS实现点赞变亮与取消点赞变灰样式
  5. 交通强国+新基建:各地政府布局智能交通是“政治任务”,亦有内在需求
  6. 百度地图API(二)轨迹回放
  7. 西安西北大学计算机排名,全国计算机排名真是这样吗?
  8. 2022年互联网大厂的中秋仪式感
  9. com.mysql.jdbc.Driver飘红,已解决
  10. 山东大学计算机学院李庆忠,研究生导师李庆忠:山东大学