当前位置: 首页 > news >正文

wordpress编辑器代码高亮/深圳整站seo

wordpress编辑器代码高亮,深圳整站seo,武汉seo网站优化运营,wordpress通过关键词前言 加,减,乘,除这些运算我们自然信手捏来,就拿加法来说,我们要用c语言编程算ab的和,只需让sum ab即可,可是这是局限的,我们都知道int的表示的最大值为2147483647(32位…

前言
加,减,乘,除这些运算我们自然信手捏来,就拿加法来说,我们要用c语言编程算a+b的和,只需让sum = a+b即可,可是这是局限的,我们都知道int的表示的最大值为2147483647(32位和64位机器)。但是如果我们要算的数超过了这个值该怎么办?这时会有人说:用long long不得了么?,但是你想想假如你面对的是几百位甚至几千位的整数时,用long long也无济于事,这时候就需要用到我们的高精度算法了。那么话不多说,让我们开始吧!
在这里插入图片描述

文章目录

  • 1,加法
  • 2,减法
  • 3,尾声

1,加法

首先让我们回忆回忆小学的时候我们时怎样进行加法用算的。
在这里插入图片描述
我们先把两个数弄成两行然后按位相加,如果某一位相加后大于9那么就往前进一位,下一位+1,这一位-10.
我们的高精度加法也是采用这个思路。
因为int 和long long不能够满足我们的高精度加法,那么我们只能另辟蹊径,我们知道数组可以很长,如果我们把需要相加的两个数字分别存进两个数组之中,数字的个位放在下标0,数字的十位放在下标1,…以此类推。到最后我们再把两个数组相同下标相加求和,如果大于9就往前进一位。相加完之后我们就能够得到我们的所需要求的和了。
但是怎么把数字的个位放在下标为0的地方呢?我们可以先创建一个char类型的数组,然后用%s进行读取,读取完之后将其内容翻转即可。(既然是字符数组那么就要留意‘1’不等于1,‘1’-‘0’=1)
读取完两个数字之后我们想把他们相加,可是他们的位数可能不一样,比如"10001"和"100",为了方便我们需要将短的字符串变长,在其前头补上’0’(即把"100"改成"00100")。
下面我用代码的方式给大家展示。

#include <stdio.h>
#include<string.h>void my_reverse(char* arr, int len)//简单的翻转函数{for (int i = 0; i < len - 1; i++, len--){char temp = arr[i];arr[i] = arr[len - 1];arr[len - 1] = temp;}}void print_sum(int len1, char* arr1, char* arr2){int q = 0;for (int i = 0; i < len1; i++){arr1[i] += arr2[i];// '1'+'1'-'0'='2'arr1[i] -= '0';if (arr1[i] > '9')//大于10往前进一位{arr1[i] -= 10;if (i != len1 - 1)arr1[i + 1] += 1;else//如果i=len1-1那么arr1[i]中存放的是'\0'需要+'1'来进一位{arr1[i + 1] += '1';q++;//长度+1,这里如果写len1++会导致循环失败}}}for (int i = len1 - 1 + q; i >= 0; i--)//倒序打印{printf("%c", arr1[i]);}}int main(){char arra[100] = { 0 }, arrb[100] = { 0 };//分别储存a,b的值scanf("%s %s", arra, arrb);int lena = strlen(arra);//计算a和b的长度int lenb = strlen(arrb);my_reverse(arra, lena);//将a和b进行翻转方便进行加法运算my_reverse(arrb, lenb);if (lena > lenb)//如果a的长度大于b的长度,在b后面补'0'方便计算{for (int i = lenb - 1; i < lena - 1; i++){arrb[i + 1] += '0';lenb++;}}else if (lena < lenb)//如果b的长度大于a的长度,在a后面补'0'方便计算{for (int i = lena - 1; i < lenb - 1; i++){arra[i + 1] += '0';lena++;}}print_sum(lena, arra, arrb);//相加并打印return 0;
}

我们自己写完之后,可以去洛谷 p1061题(A+B Problem(高精))进行自测。看看是否能通过。

2,减法

学会了高精度加法,自然高精度减法也不在话下。还是这种方法。
在这里插入图片描述
大致思路与加法相同,创建两个数组储存a和b,然后将两者相减即可,每一位小于0的话,前一位-1,这一位+10。
但是我们会发现,我们算a-b的时候如果b大于a会出现负数的情况,这会让我们不方便计算,那我们想一想,a-b是不是等于-(b-a)呢?如果b>a我们可以直接算b-a然后在结果的前面加上一个‘-’即可。
判定方法:如果字符串a的长度大于b的长度,那么不用多说a>b,反之b>a,但是当a=b的时候呢?我们回忆回忆我们之前是不是学过strcmp函数(链接:字符函数,字符串函数),通过这个函数我们可以按位比较ASCII值,通过这种函数我们就可以轻松判定当a和b长度相等时那个大那个小了(一定要在翻转前判定)。
下面我将用代码给大家展示。

#include <stdio.h>
#include<string.h>
void my_reverse(char* arr, int len)//简单的翻转函数
{for (int i = 0; i < len - 1; i++, len--){char temp = arr[i];arr[i] = arr[len - 1];arr[len - 1] = temp;}
}
void print_sub(int len, char* arr1, char* arr2)
{for (int i = 0; i < len; i++){if(arr2[i]!='\0')//如果该位置arr2[i]为\0则不需要减去'0'arr2[i] -= '0';arr1[i] -= arr2[i];if (arr1[i] < '0'){arr1[i + 1] -= 1;arr1[i] += 10;}}while (arr1[len - 1] == '0')//10001-10000的话会输出00001为了输出1我们要改变len的大小len--;for(int i = len-1;i>=0;i--)printf("%c", arr1[i]);if (len < 1)printf("0");//如果答案为0的时候len为0所以这是需要我们手动输入0
}int main(){char arra[10100] = { 0 }, arrb[10100] = { 0 };//分别储存a,b的值scanf("%s %s", arra, arrb);int lena = strlen(arra);//计算a和b的长度int lenb = strlen(arrb);if(lena == lenb)//我们的目的是让大的减去小的,所以要分情况讨论{if (strcmp(arra, arrb) >= 0){my_reverse(arra, lena);//将a和b进行翻转方便进行减法运算my_reverse(arrb, lenb);print_sub(lena, arra, arrb);return 0;}else// 如果b>a, a-b=-(b-a){printf("-");//打印个负号my_reverse(arra, lena);my_reverse(arrb, lenb);print_sub(lenb, arrb, arra);return 0;}    }my_reverse(arra, lena);my_reverse(arrb, lenb);if (lena > lenb){print_sub(lena, arra, arrb);}else if (lena < lenb)// 如果b>a, a-b=-(b-a){printf("-");//打印个负号print_sub(lenb, arrb, arra);}return 0;}

我们写完代码后可以去洛谷 p2142题(高精度减法)进行检测,看自己是否出现错误。

3,尾声

关于高精度乘法和高精度除法我们放到下一篇博客,如果觉得博主讲的不错,请一定要记得给博主点个关注,点个赞,最好再点个收藏(嘻嘻~)。那么我们下期再见吧!

相关文章:

高精度加法,减法,乘法,除法(上)(C语言)

前言 加&#xff0c;减&#xff0c;乘&#xff0c;除这些运算我们自然信手捏来&#xff0c;就拿加法来说&#xff0c;我们要用c语言编程算ab的和&#xff0c;只需让sum ab即可&#xff0c;可是这是局限的&#xff0c;我们都知道int的表示的最大值为2147483647&#xff08;32位…...

C++新经典模板与泛型编程:SFINAE特性的信息萃取

用成员函数重载实现is_default_constructible 首先介绍一个C标准库提供的可变参类模板std::is_default_constructible。这个类模板的主要功能是判断一个类的对象是否能被默认构造&#xff08;所谓默认构造&#xff0c;就是构造一个类对象时&#xff0c;不需要给该类的构造函数…...

java单人聊天

服务端 package 单人聊天;import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import…...

nodejs环境安装

node安装 wget https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v20.8.0/node-v20.8.0-linux-x64.tar.gz tar xf node-v20.8.0-linux-x64.tar.xz -C /usr/local/ ln -s node-v20.8.0-linux-x64 nodevim /etc/profile.d/node.sh export PATH$PATH:/usr/local/node/binnp…...

R语言进行正态分布检验

查了很多资料&#xff0c;还是比较模糊 Kolmogorov-Smirnov检验&#xff08;K-S检验&#xff09;广泛用于正态性检验和其他分布的拟合检验。适用于中等到大样本。 Lilliefors检验是K-S检验的一种变体&#xff0c;专门为小样本设计。其通过使用更准确的临界值来提高对小样本的适…...

什么是SPA(Single Page Application)?它的优点和缺点是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...

由于找不到xinput1_3.dll,无法继续执行代码的多种解决方法指南,xinput1_3.dll文件修复

当玩家或用户在启动某些游戏和应用程序时&#xff0c;可能会遭遇到一个系统错误提示&#xff1a;“由于找不到xinput1_3.dll,无法继续执行代码l”。这种情况通常指出系统中DirectX组件存在问题。以下我们将介绍几种常用的解决方法&#xff0c;并提供详细的操作步骤。 一.找不到…...

Vue---Echarts

项目需要用echarts来做数据展示&#xff0c;现记录vue3引入并使用echarts的过程。 1. 使用步骤 安装 ECharts&#xff1a;使用 npm 或 yarn 等包管理工具安装 ECharts。 npm install echarts 在 Vue 组件中引入 ECharts&#xff1a;在需要使用图表的 Vue 组件中&#xff0c;引入…...

uni-app实现返回刷新上一页

方案一 通过监听器实现 page1 uni.$on("refresh", function(data) {if(data.page "page2") {this.reload()} })page2 methods: {handleBack() {uni.$emit("refresh", {page: "page2"})uni.navigateBack()} }方案二 通过页面实例实…...

centos服务器安装docker和Rabbitmq

centos服务器 一 centos安装docker1 安装docker所需要的依赖包2配置yum源3查看仓库中所有的docker版本4安装docker5 设置docker为开机自启6验证docker是否安装成功 二 使用docker安装RabbitMQ拉取RabbitMQ镜像创建并运行容器 一 centos安装docker 1 安装docker所需要的依赖包 …...

【Redis】Redis高级特性和应用(慢查询、Pipeline、事务、Lua)

目录 Redis的慢查询 慢查询配置 慢查询操作命令 慢查询建议 Pipeline 事务 Redis的事务原理 Redis的watch命令 Pipeline和事务的区别 Lua Lua入门 安装Lua Lua基本语法 注释 标示符 关键词 全局变量 Lua中的数据类型 Lua 中的函数 Lua 变量 Lua中的控制语句…...

【pytorch】深度学习入门一:pytorch的安装与配置(Windows版)

请支持原创&#xff0c;认准DannisTang&#xff08;tangweixuan1995foxmail.com&#xff09; 文章目录 第〇章 阅读前提示第一章 准备工作第一节 Python下载第二节 Python安装第三节 Python配置第四节 Pycharm下载第五节 Pycharm安装第六节 CUDA的安装 第二章 Anaconda安装与配…...

安装postgresql驱动及python使用pyodbc指定postgresql驱动调用postgresql

注&#xff1a;Python解释器版本(32位/64位)和postgresql驱动版本(32位/64位)需一致。 一、安装postgresql驱动 https://www.postgresql.org/ftp/odbc/versions/msi/ &#xff08;1&#xff09;32位&#xff1a; &#xff08;2&#xff09;64位&#xff1a; 双击安装。全程默…...

【OpenCV】计算机视觉图像处理基础知识

目录 前言 推荐 1、OpenCV礼帽操作和黑帽操作 2、Sobel算子理论基础及实际操作 3、Scharr算子简介及相关操作 4、Sobel算子和Scharr算子的比较 5、laplacian算子简介及相关操作 6、Canny边缘检测的原理 6.1 去噪 6.2 梯度运算 6.3 非极大值抑制 6.4 滞后阈值 7、Ca…...

Course1-Week3-分类问题

Course1-Week3-分类问题 文章目录 Course1-Week3-分类问题1. 逻辑回归1.1 线性回归不适用于分类问题1.2 逻辑回归模型1.3 决策边界 2. 逻辑回归的代价函数3. 实现梯度下降4. 过拟合与正则化4.1 线性回归和逻辑回归中的过拟合4.2 解决过拟合的三种方法4.3 正则化4.4 用于线性回归…...

Dockerfile 指令的最佳实践

这些建议旨在帮助您创建一个高效且可维护的Dockerfile。 一、FROM 尽可能使用当前的官方镜像作为镜像的基础。Docker推荐Alpine镜像&#xff0c;因为它受到严格控制&#xff0c;体积小&#xff08;目前不到6 MB&#xff09;&#xff0c;同时仍然是一个完整的Linux发行版。 FR…...

Drools 入门:折扣案例

1. 安装 在idea软件中安装Drools 插件&#xff0c;我这里是直接搜索Drools就可以搜到 2. 实现入门案例 2.1 配置pom.xml文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi&q…...

微信小程序中生命周期钩子函数

微信小程序 App 的生命周期钩子函数有以下 7 个&#xff1a; onLaunch(options)&#xff1a;当小程序初始化完成时&#xff0c;会触发 onLaunch&#xff08;全局只触发一次&#xff09;。onShow(options)&#xff1a;当小程序启动或从后台进入前台显示时&#xff0c;会触发 on…...

“无忧文件安全!上海迅软DSE文件加密软件助您轻松管控分公司数据!

许多大型企业集团由于旗下有着分布在不同城市的分支机构&#xff0c;因此在规划数据安全解决方案时&#xff0c;不适合采用市面上常见的集中式部署方式来管控各分部服务器&#xff0c;而迅软DSE文件加密软件支持采用分布式部署的方式来解决这一问题。 企业用户只需在总部内部署…...

详解线段树

前段时间写过一篇关于树状数组的博客树状数组&#xff0c;今天我们要介绍的是线段树&#xff0c;线段树比树状数组中的应用场景更加的广泛。这些问题也是在leetcode 11月的每日一题频繁遇到的问题&#xff0c;实际上线段树就和红黑树 、堆一样是一类模板&#xff0c;但是标准库…...

C语言——指针的运算

1、指针 - 整数 #include<stdio.h> #define N_VALUES 5 int main() {flout values[N_VALUES];flout *vp;for(vp&values[0];vp<&values[N_VALUES]&#xff1b;) //指针的关系运算{*vp0; //指针整数} } 2、指针 - 指针 #include<stdio.h> int main() …...

Apache Hive(部署+SQL+FineBI构建展示)

Hive架构 Hive部署 VMware虚拟机部署 一、在node1节点安装mysql数据库 二、配置Hadoop 三、下载 解压Hive 四、提供mysql Driver驱动 五、配置Hive 六、初始化元数据库 七、启动Hive(Hadoop用户) chown -R hadoop:hadoop apache-hive-3.1.3-bin hive 阿里云部…...

python入门级简易教程

Python是一种高级编程语言&#xff0c;由Guido van Rossum于1991年创建。它是一种通用的、解释型的、高级的、动态的、面向对象的编程语言。 Python的编程哲学是简洁明了&#xff0c;强调代码的可读性和简洁性&#xff0c;使开发人员能够快速开发出正确的代码。Python被广泛用…...

模拟一个集合 里面是设备号和每日的日期

问题&#xff1a; 需要模拟一个集合 里面是设备号和每日的日期 代码如下&#xff1a; static void Main(string[] args){string equipmentCodePar "";DateTime time DateTime.Now; // 获取当前时间DateTime startDate time.AddDays(1 - time.Day);//获取当前月第一…...

antdesign前端一直加载不出来

antdesign前端一直加载不出来 报错&#xff1a;Module “./querystring” does not exist in container. while loading “./querystring” from webpack/container/reference/mf at mf-va_remoteEntry.js:751:11 解决方案&#xff1a;Error: Module “xxx“ does not exist …...

排序算法介绍(一)插入排序

0. 简介 插入排序&#xff08;Insertion Sort&#xff09; 是一种简单直观的排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常…...

2023新优化应用:RIME-CNN-LSTM-Attention超前24步多变量回归预测算法

程序平台&#xff1a;适用于MATLAB 2023版及以上版本。 霜冰优化算法是2023年发表于SCI、中科院二区Top期刊《Neurocomputing》上的新优化算法&#xff0c;现如今还未有RIME优化算法应用文献哦。RIME主要对霜冰的形成过程进行模拟&#xff0c;将其巧妙地应用于算法搜索领域。 …...

RNN:文本生成

文章目录 一、完整代码二、过程实现2.1 导包2.2 数据准备2.3 字符分词2.4 构建数据集2.5 定义模型2.6 模型训练2.7 模型推理 三、整体总结 采用RNN和unicode分词进行文本生成 一、完整代码 这里我们使用tensorflow实现&#xff0c;代码如下&#xff1a; # 完整代码在这里 imp…...

Rust UI开发(五):iced中如何进行页面布局(pick_list的使用)?(串口调试助手)

注&#xff1a;此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库&#xff0c;用于为rust语言程序构建UI界面。 这是一个系列博文&#xff0c;本文是第五篇&#xff0c;前四篇链接&#xff1a; 1、Rust UI开发&#xff08;一&#xff09;&#xff1a;使用iced构建UI时…...

Linux学习笔记2

web服务器部署&#xff1a; 1.装包&#xff1a; [rootlocalhost ~]# yum -y install httpd 2.配置一个首页&#xff1a; [rootlocalhost ~]# echo i love yy > /var/www/html/index.html 启动服务&#xff1a;[rootlocalhost ~]# systemctl start httpd Ctrl W以空格为界…...