#include <bits/stdc++.h>
using namespace std;
int a[101],b[101],c[101],d,i;
void shuru(int a[])
{string s;cin>>s;              //读入字符串a[0]=s.length();      //a[0]储存字符串的长度for (i=1;i<=a[0];i++)a[i]=s[a[0]-i]-'0';   //将字符串转化为数组a,并倒序储存,模拟竖式计算
}
void shuchu(int a[])// 用于输出最后的答案,并注意若答案为0的情况
{int i;if (a[0]==0) {cout<<"0"<<endl;return;}for (i=a[0];i>0;i--) cout<<a[i];cout<<endl;return;
}
int bijiao(int a[],int b[])//比较a和b的大小关系,若a>b则为1,若a<b则为-1,若a=b则为0
{int i;if (a[0]>b[0]) return 1;  //若a的位数大于b,则a>bif (a[0]<b[0]) return -1;  //若a的位数小于b,则a<bfor (i=a[0];i>0;i--){if (a[i]>b[i]) return 1;if (a[i]<b[i]) return -1;} //从高位到低位依次比较,找出大小关系return 0;
}
void jian(int a[],int b[])  //a数组既做被除数,又作为储存余数
{int pd;int i;pd=bijiao(a,b);            //调用函数比较ab大小if (pd==0) {a[0]=0;return;}  //相等if (pd==1){for (i=1;i<=a[0];i++){if (a[i]<b[i]) {a[i+1]--;a[i]+=10;}   //若不够减向上一位借一位if (a[i]>=b[i])  a[i]-=b[i];}while((a[a[0]]==0)&&(a[0]>0)) a[0]--;return;}
}
void numcpy(int p[],int q[],int det) //复制p数组到q数组从det开始的地方
{for (int i=1;i<=p[0];i++) q[i+det-1]=p[i];//将数组右移,使两个数组右端对齐,形参q数组储存右移后的结果q[0]=p[0]+det-1;
}
void chugao(int a[],int b[],int c[])
{int i,tmp[101];c[0]=a[0]-b[0]+1;for (i=c[0];i>0;i--){memset(tmp,0,sizeof(tmp));     //tmp数组清零numcpy(b,tmp,i);               //将除数b右移后复制给tmp数组,注意用i控制除数位数while (bijiao(a,tmp)>=0){c[i]++;jian(a,tmp);}   //减法模拟除法,并计数}while((c[c[0]]==0)&&(c[0]>0)) c[0]--;   // 控制最高位的0
}
int main()//主程序
{memset(a,0,sizeof(a));memset(b,0,sizeof(b));memset(c,0,sizeof(c));shuru(a);shuru(b);chugao(a,b,c);shuchu(c);shuchu(a);return 0;
}

高精度除法(高精度除以高精度)相关推荐

  1. 高精度除法的介绍以及模板的分享

    今天我们来介绍一下高精度除法 什么是高精度除法呢? 我们来看看百度百科是怎么介绍高精度除法的,但是并没有搜到相关信息,逛了一圈发现也没人介绍,那我在这里就简单提一下. 一般我们计算高精度除法分为高精度 ...

  2. 高精度之高精度除法(高精除以高精)

    好像NOIP并不会用到,但是作为强迫症的我还是坚持学了.高精度除以高精度我所知道的有两个思路: 手动模拟法 还是手动模拟除法过程,但是注意在截取了被除数的正确片段之后应该试商,即枚举k从1到9看当k等 ...

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

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

  4. 基础算法 —— 高精度计算 —— 高精度除法

    [高精除以低精] 1.算法分析 做除法时,每一次的商的值都在0~9,每次求得的余数连接以后的若干位得到新的被除数,继续做除法.因此在做高精度除法时,要涉及到乘法运算和减法运算以及移位处理. 为程序简洁 ...

  5. 国王游戏(贪心 + 高精度乘法 + 高精度除法 + 高精度比较大小)

    题目描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏. 首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数. 然后,让这 n 位大臣排成一排,国王站在队伍 ...

  6. C++ 的高精度除法

    为什么需要高精度计算 对于 C++ 而言,最大的数据为 long long(64b,8位),对于超过 8B 的数据,C++ 没有对应的数据类型进行表示.所以我们需要知道高精度计算.更详细的解释,可以参 ...

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

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

  8. (压位)高精度乘法,高精度加法,高精度减法,高精度除法

    大值 乘 大值: 题目链接:https://www.luogu.com.cn/problem/P1303 # include <iostream> # include <string ...

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

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

  10. 高精度除法(精确到小数点后N位)

    这种类型的高精度除法颇为简单,直接贴上代码 //写在前面 //对于精确到小数点后任意位数的高精度除法 //只要简单的模拟除法过程就可 //在直接用除法算出小数点前的整数后 //改变被除数 a=(a%b ...

最新文章

  1. c语言饭卡管理系统链表文件,C语言《学生信息管理系统》链表+文件操作
  2. python中intvar_在Python线程中使用Intvar/DoubleVar是否安全?
  3. 分层应用——怎样实现登录?
  4. 二进制查找替换常用函数
  5. 基于pythonselect.select模块通信的实例讲解
  6. php mysql 无法查询中文名字_PHP连接MySQL查询中文时显示Notice: Trying to get property of non-object...
  7. mysql 自增id replace_MySQL--REPLACE INTO与自增
  8. 广播 消息 没有服务器,服务器节点消息广播
  9. 社交媒体广告看不出来?Instagram加标签让你一目了然
  10. The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method
  11. MDC功能软件-归控算法介绍
  12. html5绘制警告牌,2.10 创建自定义图形:绘制扑克牌花色 - HTML5 Canvas 实战
  13. web前端笔试试题(答案)
  14. 用计算机如何计算投资回收期,动态投资回收期怎么算的?
  15. 用U盘安装系统 WinPE 安装操作系统
  16. dgraph的使用总结--------docker安装使用
  17. 序列(sequence)(Python入门十二)
  18. 【LaTex】IEEE论文作者信息排版
  19. 关于ping以及TTL的分析
  20. javascript表格信息增添与删除

热门文章

  1. 想瘦身不伤体质,就要学会和脂肪做朋友
  2. 《迷途深渊》隐私声明
  3. CSS几种常见的页面布局方式介绍
  4. excel多窗口显示设置
  5. python第六周项目华容道_华容道游戏(中)
  6. TiDB 6.1 单机环境 On openEular 2003 SP3
  7. Age of Information(AoI)大体介绍与相关工作
  8. ECCV 2022全奖项公布,两位华人学者摘得最佳论文奖,本科来自清华、浙大
  9. 安卓手机主题软件_安卓手机赚钱软件
  10. java中所有import意思,java 程序中用到的所有类都必须使用 import 语句。