C++ 高精除

c++高精除以高精 #include<bits/stdc++.h> using namespace std; int a[1000],b[1000]; int len1,len2,len; int index; int re[1000],p=0; //记录结果 int judge() { int i,j; for(i=len2-1,j=len1-1;i>=0;i--,j--) { if(a[j]<b[i]) return 1; else if(a[j]>b[ 阅读详情
题目描述

高精除以高精,求它们的商和余数。

输入格式

输入两个低于300位的正整数。

输出格式

输出商和余数。

输入样例
1231312318457577687897987642324567864324567876543245671425346756786867867867
1231312318767141738178325678412414124141425346756786867867867
输出样例
999999999748590
179780909068307566598992807564736854549985603543237528310337

提交

#include<bits/stdc++.h>
using namespace std;
char a1[301],b1[301];
int tmp[301],a[301],b[301],c[301];
int compare(int a[],int b[]){
    //长度比较 
    if(a[0]>b[0]) return 1;
    else if(a[0]<b[0]) return -1;
    //逐位比较
    for (int i=a[0];i>0;i--) {
        if(a[i]>b[i]) return 1;
        else if(a[i]<b[i]) return -1;
    }
    return 0;
}
void numcpy(int a[],int b[],int dest){
    //数组右移对齐 
    for(int i=1;i<=a[0];i++) b[i+dest-1]=a[i];
    b[0]=a[0]+dest-1;
}
int main()
{
    cin>>a1;
	cin>>b1;
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(c,0,sizeof(c));
	memset(tmp,0,sizeof(tmp));
    int lena=strlen(a1);
	int lenb=strlen(b1);
    a[0]=lena;
	b[0]=lenb;
    for(int i=0;i<lena;i++) a[lena-i]=a1[i]-48;
	for(int i=0;i<lenb;i++) b[lenb-i]=b1[i]-48;
    if(0==compare(a,b)){
    	//相等 
        cout<<1<<endl<<0;
        return 0;}
	else if(-1==compare(a,b)){
		//被除数<除数
        cout<<0<<endl;
        cout<<a1;
        return 0;}
	else{
		//正常(被除数>除数) 
        c[0]=a[0]-b[0]+1;
        for(int i=c[0];i>0;i--){
            memset(tmp,0,sizeof(tmp));
            numcpy(b,tmp,i);
            while (compare(a,tmp)>=0){
                c[i]++;
                //减法
                for(int j=1;j<=a[0];j++){
                    if(a[j]<tmp[j]){
                        a[j+1]--;
                        a[j]+=10;}
                    a[j]-=tmp[j];
                }
                int k=a[0];
                while(a[k]==0) k--;
                a[0]=k;
            }
        }
        //最高位0 
        while(c[0]>0&&c[c[0]]==0) c[0]--;
    }
    //输出
    for(int i=c[0];i>0;i--) cout<<c[i];
    cout<<endl;
    if(0==a[0]) cout<<0;
    else
        for(int i=a[0];i>0;i--) cout<<a[i];
    return 0;
}

高精度除法 【c++实现】包括高精除低精与高精除高精 高精度除法【c++实现】 高精度除法可以简单的分为两种,高精除低精与高精除高精。虽然都是除法,但两者的实现方法却有着很大的不同,下面来让我们一起学习吧!(如果有错误或者有更好的方法欢迎提出^_^) 首先说在前面,除法需要注意除数为0的特殊情况,否则会让数学老师伤心的哦!!!! 高精除低精 高精度除低精度,原理是模拟竖式除法,同高精度其他算法一样都可以手动计算来感受一下实现方法。下面来一个较为简单的例子:1245 ÷ 21 == 59余6 代码实现如下:(详细实现见注释) 高精除高精 高精度除高精度,这时我们 阅读详情

相关推荐

高效实现高精度除法:C++中的高精除低精与高精除高精详解

本文详细解析了C++中高精度除法的两种核心场景:高精除低精与高精除高精。通过模拟竖式计算和减法试商法,深入讲解了其实现原理、代码细节与优化技巧,帮助开发者掌握处理大整数运算的关键算法,有效应对金融、密码学等领域的计算需求。

weixin_29019241的博客 392

大数除法之高精度c++

大数除法之高精度c++

qq_37755459的博客 702

CorelDRAW 2019安装指南:从下载到激活的完整步骤

本文提供了一份详细的CorelDRAW 2019安装指南,涵盖从下载安装包、检查系统环境到完成激活的完整步骤。文章重点解析了安装过程中的关键选项设置,并分享了首次启动后的优化配置与常见问题解决方案,旨在帮助用户高效、顺利地完成这款经典矢量设计软件的安装与配置。

weixin_29213827的博客 844

高精除以高精

高精除以高精,求它们的商和余数。 【算法分析】 高精除以低精是对被除数的每一位(这里的“一位”包含前面的余数,以下都是如此)都除以除数。 高精除以高精则是用减法模拟除法,对被除数的每一位都减去除数,一直减当前位置的数字(包含前面的余数)小于除数(由于每一位的数字小于10,所以对于每一位最多进行10次计算),具体实现< 方法一 >: #include<iostream> ...

lybc2019的博客 2810

告别低效!用ADS仿真带你一步步搭建一个两路对称Doherty功放(含设计要点)

本文详细介绍了如何使用ADS仿真工具一步步搭建两路对称Doherty功放,涵盖设计要点与优化技巧。通过解析负载调制机制、阻抗变换等核心原理,结合5G基站等应用场景,帮助工程师提升功放效率与线性度。特别针对GaN管件的Doherty功放,在3.5GHz频段实现高效性能。

weixin_31783001的博客 396

嵌入式学习(29)-ASM330LHH驱动程序

ASM330LHH是一种系统级封装器件,具有3D数字加速度计和3D数字陀螺仪,扩展温度范围上限为+105 °C,适用于汽车非安全领域的应用。ASM330LHH 的满量程加速范围为±2 g、±4 g、±8 g 和 ±16 g,角速度范围扩展至 ±125 dps、±250 dps、±500 dps、±1000 dps、± 2000 dps 和 ±4000 dps,适合各种汽车应用。

剑藏锋的博客 1177

C++ 的高精度除法

为什么需要高精度计算 对于 C++ 而言,最大的数据为 long long(64b,8位),对于超过 8B 的数据,C++ 没有对应的数据类型进行表示。所以我们需要知道高精度计算。更详细的解释,可以参考这个网页https://blog.youkuaiyun.com/justidle/article/details/104414459。 高精度除法计算原理 在读小学时,我们做除法都采用竖式方法计算。被除数...

努力中的老周的专栏 1万+

海外最新AI营销AI销售书籍推荐AI营销培训讲师AI销售培训讲师人工智能营销培训师人工智能销售培训师AI赋能营销培训AI赋能销售培训企业AI营销内训企业AI销售内训AI营销课程讲师AI销售课程讲师

专栏|AI营销与AI销售实战 · 第46期在这个人类与算法共舞的时代,销售,已经不是你我熟悉的那个“打电话、见客户、做PPT”的老行当了。你还以为销售是“打感情牌”?错了,情感要继续,但方式已经升级。你还以为AI只是“写写文案”?错了,文案只是皮毛,真正的杀器,是思维方式的重构,是认知地图的重绘。首先,我们需要明确一个事实:AI并不会消灭销售这个职业,但它必然会重新定义销售的本质。在销售领域,真正的制胜之道不是简单地采用AI工具,而是的能力。

Akibfrycc的博客 1102

高精度除法

高精度除法

shallrelow的博客 1160

复现基于PYNQ-Z2的手写数字识别卷积加速器设计

来源雪天鱼。

eachanm的博客 968

YOLOv12涨点改进 | 独家创新-注意力改进篇 | ECCV 2024 | YOLOv12引入AgentAttention代理注意力模块,兼顾 Softmax 和线性注意力优点,提高检测精度

🔥本文给大家介绍使用Agent Attention模块改进YOLOv12网络模型。其主要作用是通过引入高效的代理token来减少计算复杂度,同时保留全局上下文建模能力。相比传统的Softmax注意力,Agent Attention通过代理token聚合并广播信息,从而降低了模型在处理高分辨率图像时的计算负担,并显著提高了推理速度。其优势在于保持了目标检测中的全局信息处理能力,同时加速了生成过程,特别是在高分辨率场景下,可以提高检测精度、减少内存消耗,并提升处理速度。

Ai缝合怪、助力小伙伴高效发论文 157

高精度除低精度 C++ 蓝桥杯

C++ 蓝桥杯 高精度除低精度

2301_79006415的博客 876

Vek385评估板(二):板子联网 & memtester安装(LPDDR5X测试)

继上一篇文章:Vek385评估板(一):EDF成功烧录启动及一些问题。 本章完成最主要的两个功能:开发板联网+内存 memtester。因为我是做测试行业的,所以这两个是最想试的。内存测试,除了FPGA测,也可以系统级测,本次在versal上实现这个功能,主要是可以应急。在没有安卓、X86的情况下,可以使用本方案测试。 下一篇会继续做一些其他功能。

千歌叹尽执夏的博客 223

c++高精度运算总结 加 乘 除(高精/单精)

高精度加法,乘法,高精度除单精度

weixin_46879396的博客 1071

寄存器与计数器设计(Verilog)

always @(posedge Reset or posedge Clock)//请在括号中补充敏感信号列表。always @(negedge Resetn , posedge Clock)//请在括号中补充敏感信号列表。always @(negedge Resetn,posedge Clock)//请在括号中补充敏感信号列表。//为了便于自动评测,请勿更改n的值。//为了便于自动评测,请勿更改n的值。//为了便于自动评测,请勿更改n的值。//为了便于自动评测,请勿更改n的值。

M_inherit的博客 365

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

c++ 普通高精除高精

//codevs3118 高精度练习之除法 //打出了高精除高精,内心有点小激动。 //还记得已开始学的时候非常难打 #include<cstdio>#include<cstring>char s1[600],s2[600];int a1[600],a2[600],a3[600],a4[600],len1,len2,len3,i,j;int bi(int a3[],i...

weixin_34203426的博客 239

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【算法】高精度加、减、乘、除(C++实现)

C++实现高精度加减乘除

m0_67463447的博客 2002

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C++高精度计算训练,高精度乘/除高精度/单精度

C++高精度计算训练,高精度乘/除高精度/单精度

yaosichengalpha的博客 609

c++高精度之高精度除低精度

因此我们将第一个数据以字符串的形式读取,同时用一个变量来表示高精度的位数,然后用一个整形数组来接收每一位的值,第二个数据可以直接用long long 数据类型接收,将除法的步骤细分,从第一个数据的高位开始进行,一直到第一个数据的末尾,用一个整形数组表示答案,用循环将答案输出,我的这个例题不考虑余数,比如532/6,第二步逐步开始计算,这里我们用d表示当前余数(初始为0),从最高位开始除,如果上一个高位有余数,那么需要传给下一位(*10)继续被除。第一步读取数据如上述方式读取。c++高精度除低精度。

jsnf555的博客 397

基础算法-高精度的加、减、乘、除运算-C++实现

高精度的加、减、乘、除运算-C++实现 算法基本思想及步骤 题目关键点 AcWing题库-791-高精度加法 题目 给定两个正整数,计算它们的和。 输入格式 共两行,每行包含一个整数。 输出格式 共一行,包含所求的和。 数据范围 1≤整数长度≤1000000 输入样例 12 23 输出样例 35 C++代码 在这里插入代码片 AcWing题库-792-高精度减法 AcWing题库-793-高精度乘法 AcWing题库-794-高精度加法 ...

nosympathy的博客 616

C++高精度加,减,乘,除运算

高精度加法接下来,我们就可以正式开始高精度运算了,我们先从高精度加法算起,我们在小学二三年级的时候,做一些加法题都需要用到竖式计算,而这种竖式计算是无论多大的数都可以算出来的,所以我们可以借助模拟竖式计算的方法来进行高精度加法运算。定义存储数组。读入数据到数组中。注意是倒序存放,也就是个位放在数组下标为 0 的地方。从个位开始模拟竖式加法的过程,完成整个加法。删除前导 0。所谓前导零,就是出现类似这样数据 01234,这个 0 实际是不需要的。输出加法的结果。

wo_ai_luo_的博客 1845

信息学奥赛一本通(C++版)1308:【例1.5】高精除

信息学奥赛一本通(C++版)1308:【例1.5】高精除

我的标签:高冷、编程、游戏~ 320

高精除低精 C++题解

内存限制: 256 MiB 时间限制: 1000 ms 标准输入输出 题目类型: 传统 评测方式: 文本比较。

xxy20110830的博客 418

c++普通高精除单精

//没有在网上测试 //手测几组无误 //如有错误,还望指出,不胜感激。 #include<cstdio>#include<cstring>int a1[600],a2,a4[600],len1,i;char a3[600];int main(){ scanf("%s%d",a3,&a2); len1=strlen(a3); for(i=1;i&l...

weixin_34080571的博客 116
上一篇: C++ 分数线划定
下一篇: C++ 数塔问题
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值