高精度加减乘除

高精度加法

题目链接:高精度加法

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5+5;
int a[N],b[N];
int c[N];
int n,m;
string s1,s2;signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>s1>>s2;int n=s1.length();int m=s2.length();for(int i=1;i<=n;i++){a[n-i+1]+=s1[i-1]-'0';}for(int i=1;i<=m;i++){b[m-i+1]+=s2[i-1]-'0';}int jw=0;for(int i=1;i<=max(n,m);i++){c[i]=a[i]+b[i]+jw;jw=c[i]/10;c[i]%=10;}if(jw){c[max(n,m)+1]=jw;}int k=max(n,m)+1;while(c[k]==0)k--;for(int i=k;i>=1;i--){cout<<c[i];}return 0;
}

高精度减法

题目链接:高精度减法

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N =1e5+5;
int a[N],b[N],c[N];
string s1,s2;
bool flag=true;signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>s1>>s2;int n=s1.length();int m=s2.length();if(n<m){flag=false;}else if(n==m){int l=0;while(s1[l]==s2[l]&&l<=n)l++;if(s1[l]<s2[l]){flag=false;}}int cnt1=0,cnt2=0;if(flag){for(int i=1;i<=n;i++){a[++cnt1]=s1[i-1]-'0';}for(int i=1;i<=m;i++){b[++cnt2]=s2[i-1]-'0';}}else{for(int i=1;i<=m;i++){a[++cnt1]=s2[i-1]-'0';}for(int i=1;i<=n;i++){b[++cnt2]=s1[i-1]-'0';}}reverse(a+1,a+1+cnt1);reverse(b+1,b+1+cnt2);int jw=0;for(int i=1;i<=max(n,m);i++){c[i]=a[i]-b[i]-jw;if(c[i]<0)jw=1;else jw=0;c[i]=(c[i]+10)%10;}int k=max(n,m)+1;while(c[k]==0&&k>1)k--;//注意k要大于1if(!flag)cout<<'-';for(int i=k;i>=1;i--){cout<<c[i];}return 0;
}

高精度乘法

题目链接:高精度乘法

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5+5;
int a[N],b[N],c[N];
string s1,s2;signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>s1>>s2;int n=s1.length();int m=s2.length();for(int i=1;i<=n;i++){a[n-i+1]=s1[i-1]-'0';}for(int i=1;i<=m;i++){b[m-i+1]=s2[i-1]-'0';}int jw=0;for(int i=1;i<=n;i++){jw=0;for(int j=1;j<=m;j++){c[i+j-1]+=a[i]*b[j]+jw;jw=c[i+j-1]/10;c[i+j-1]%=10;}c[i+m]+=jw;}int k=n+m+1;while(c[k]==0&&k>1)k--;for(int i=k;i>=1;i--){cout<<c[i];}return 0;
}

高精度除法

题目链接:高精度除法

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5+5;
int a[N],c[N];
string s1;
int b;signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>s1>>b;int n=s1.length();for(int i=1;i<=n;i++){a[i]=s1[i-1]-'0';}int x=0;for(int i=1;i<=n;i++){c[i]=(x*10+a[i])/b;x=(x*10+a[i])%b;}int sb=1;while(c[sb]==0&&sb<n){sb++;}for(int i=sb;i<=n;i++){cout<<c[i];}cout<<"\n";cout<<x;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大厂面试精华面试刷题

1.自定义unshift实现相同效果 2.数组去重 用vs2019来写这种练习题可以更直观的查看代码执行的效果&#xff0c;最后的代码是控制控制台执行完毕后不自动关闭 use strict;let arr [1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10] //1.//查重最简单的方法for循环结合splice从数组中…

Flask vs FastApi 性能对比测试

Flask和Fastapi都是Python下流行的Web框架&#xff0c;前者有大量拥趸&#xff0c;是一个老牌框架&#xff0c;后者相对较新&#xff0c;但是利用了异步技术和uvloop&#xff0c;都说性能比Flask好很多&#xff0c;于是就我就对比实测一下。由于Windows下不支持uvloop&#xff…

63、ARM/STM32中IIC相关学习20240417

完成温湿度传感器数据采集实验。 【思路&#xff1a;1.通过IIC通信原理&#xff0c;理解其通信过程&#xff0c;通过调用封装的IIC函数达成主机和从机之间&#xff1a;起始信号、终止信号、读、写数据的操作&#xff1b; 2.了解温湿度传感器控制芯片SI7006的工作原理&#…

【C++】飞机大战项目记录

源代码与图片参考自《你好编程》的飞机大战项目&#xff0c;这里不进行展示。 本项目是仅供学习使用的项目 飞机大战项目记录 飞机大战设计报告1 项目框架分析1.1 敌机设计&#xff1a;1.2 玩家飞机控制&#xff1a;1.3 子弹发射&#xff1a;1.4 游戏界面与互动&#xff1a;1.5…

解决Linux根分区空间不足的方法:利用Home分区进行扩容

前言 在进行系统安装时&#xff0c;一个常见的困扰是默认分区设置可能导致home分区拥有过多的空间&#xff0c;而root分区却显得十分紧缺。这种情况下&#xff0c;用户往往会陷入无法继续安装软件或存储文件的困境。本文将向您展示如何通过合理的调整&#xff0c;将home分区中多…

二叉排序树及实现

二叉排序树及实现 二叉排序树&#xff08;Binary Sort Tree, BST&#xff09;又称为二叉查找树。在一般情况下&#xff0c;查询效率要比链表结构要高。对于二叉排序树中的任何一个非叶子节点&#xff0c;要求左子节点的值比当前节点的值小&#xff0c;右子节点的值比当前节点的…

【6】mysql查询性能优化-关联子查询

【README】 0. 先说结论&#xff1a;一般用inner join来改写in和exist&#xff0c;用left join来改写not in&#xff0c;not exist&#xff1b;&#xff08;本文会比较内连接&#xff0c;包含in子句的子查询&#xff0c;exist的性能 &#xff09; 1. 本文总结自高性能mysql 6…

Python 面向对象——1.基本概念

本章学习链接如下&#xff1a; 基本概念与语法 类&#xff08;Class&#xff09;&#xff1a;定义了一组对象共有的属性和方法的蓝图。类是创建对象的模板。 对象&#xff08;Object&#xff09;&#xff1a;类的实例。对象包含实际的数据和操作数据的方法。 属性&#xff0…

NLP_知识图谱_三元组实战

文章目录 三元组含义如何构建知识图谱模型的整体结构基于transformers框架的三元组抽取baselinehow to use预训练模型下载地址训练数据下载地址 结构图代码及数据bertconfig.jsonvocab.txt datadev.jsonschemas.jsontrain.jsonvocab.json 与bert跟data同个目录model.pytrain.py…

原型和原型链--图解

https://juejin.cn/post/7255605810453217335 prototype是函数的属性&#xff08;一个对象&#xff09;&#xff0c;不是对象的属性&#xff0c;普通函数和构造函数的prototype属性是空对象&#xff5b;&#xff5d;&#xff08;其实有2个属性&#xff0c;一个是constructor&a…

Vue3: toRefs与toRef的基本使用

一、前言 本文主要介绍toRefs与toRef的基本使用。 二、内容 1、基本概念 作用: toRefs与toRef可以将一个响应式对象中的每一 个属性&#xff0c;转换为ref对象&#xff1b;不同 toRefs与toRef功能一致&#xff0c;但toRefs可以批量转换。 2、toRefs 如果把reactive定义的…

记录交叉编译环境配置--海思开发板的 嵌入式nginx和 php的移植

嵌入式 lnmp搭建的记录 一些交叉编译的配置环境思路分享&#xff1a;P&#xff1a;php编译PHP可能遇到的问题configure阶段&#xff1a;Makefile-make阶段&#xff1a;Makefile-make install阶段&#xff1a; N&#xff1a;Nginx 文章比较水&#xff0c;并没有没解决什么实际问…

java面向对象的继承Shape

* - Shape基类 拥有draw()和erase()两个方法 * - 基于Shape类创建Circle子类 * - 基于Shape类创建Square子类 * - 创建Shape类创建Triangle子类 * - 创建随机形状发生的类(不是子类) * - 定义公共类(测试类),创建Shape类的数组对象长度为10&#xff0c;并为对象数组赋值其内容C…

二维码门楼牌管理应用平台建设:助力场所整改与消防安全

文章目录 前言一、二维码门楼牌管理应用平台的构建背景二、二维码门楼牌管理应用平台在场所整改中的作用三、二维码门楼牌管理应用平台的意义与价值四、二维码门楼牌管理应用平台的未来展望 前言 随着城市管理的日益精细化&#xff0c;二维码门楼牌管理应用平台的建设成为了提…

el-table 遇到的问题一

点击按钮一&#xff0c;出现table1 点击按钮二&#xff0c;出现table2 刚开始很简单&#xff0c;就用简单的 v-if 添加&#xff0c;但是会出现问题&#xff0c;就是点击按钮一&#xff0c;会出现table1&#xff0c;点击按钮二&#xff0c;会出现table2&#xff0c;再点击按钮…

C++ - STL详解(七)— stack和queue的介绍及使用

目录 一. stack 1.1 stack的介绍 1.2 stack的定义 1.3 stack的使用 ​编辑 二. queue 2.1 queue的介绍 2.2 queue的定义 2.3 queue的使用 一. stack 1.1 stack的介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除…

Java中的消息队列(如RabbitMQ、Kafka)是如何工作的

Java中的消息队列&#xff08;Message Queue&#xff09;是一种用于应用程序之间或应用程序组件之间进行异步通信的机制。消息队列允许发送者&#xff08;生产者&#xff09;将消息发送到队列中&#xff0c;而接收者&#xff08;消费者&#xff09;可以从队列中读取并处理这些消…

代码随想录算法训练营第十八天 | 513.找树左下角的值、112. 路径总和、113. 路径总和ii

代码随想录算法训练营第十八天 | 513.找树左下角的值、112. 路径总和、113. 路径总和ii 自己看到题目的第一想法看完代码随想录之后的想法自己实现过程中遇到哪些困难 链接: 513.找树左下角的值 链接: 112. 路径总和&#xff0c;和 113. 路径总和ii 链接: 从中序与后序遍历序…

Debezium系列之:部署Debezium采集Oracle数据库的详细步骤

Debezium系列之:部署Debezium采集Oracle数据库的详细步骤 一、部署Debezium Oracle连接器二、Debezium Oracle 连接器配置三、添加连接器配置四、可插拔数据库与不可插拔数据库一、部署Debezium Oracle连接器 部署的详细步骤可以参考博主这篇技术文章: Debezium系列之:安装…

怎么用3ds MAX制作蜂窝状模型?

1、新建多边形&#xff1a;打开3ds MAX软件&#xff0c;在样条线中新建一个多边形。 2、设置参数&#xff1a;切换到顶视图&#xff0c;设置多边形的参数&#xff0c;例如半径为10&#xff0c;变数为6&#xff0c;以形成一个六边形的基础。 3、复制并形成圆柱状&#xff1a;打开…