C语言-关于求余

article/2025/9/27 1:55:29

求余是一种数学计算方法,指一个数除以另一个数,不够除的部分就是余数,就是求余的结果。整除就是一个数除以另一个数,刚刚好的倍数,这里没有四舍五入,不够一倍的都将舍去。

一、求余负数

  • 求余一个负数

验证方法:运算1000次,验证求余正数和求余负数的区别。定义a、b、c三个变量,a从1开始自加2至2000,b从1开始自加1至1000,c从-1开始自减1至-1000,让a在每次循环中分别求余b和c并打印结果。

代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{int a, b=1, c=-1;for (a = 1; a <= 2000; a+=2){printf("a值:%d b值:%d c值:%d	求余b:%d ", a, b, c, a % b);printf("求余c:%d\n", a % c);b++;c--;}return 0;
}

 运行结果如下:

结论:求余按绝对值计算,求余正负数结果一样 

  • 被求余数为负数

 验证方法:运算1000次,正数和负数求余的区别。定义a、b、c三个变量,a从-1开始自减2至-2000,b从1开始自加1至1000,c从-1开始自减1至-1000,让a在每次循环中分别求余b和c并打印结果。

代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{int a, b=1, c=-1;for (a = -1; a >= -2000; a-=2){printf("a值:%d b值:%d c值:%d	求余b:%d ", a, b, c, a % b);printf("求余c:%d\n", a % c);b++;c--;}return 0;
}

运行结果如下:

 结论:求余按绝对值计算,求余正负数结果一样,但如果被求余数为负数则求余结果一定为负数

二、求余小数与求余分数

结论:求余本质上是整数间的除法,在整数的除法中,只有能整除与不能整除两种情况,当不能整除时,才产生余数,所以要求被求余数和求余数都必须为整数,即要求“%”两边必须为整数。

a%b                (a必须整数,b必须整数)

三、求余数绝对值大于被求余数绝对值

  1. “%”两边皆为正数
  2. “%”左边为正数,右边为负数
  3. “%”左边为负数,右边为正数
  4. “%”左右皆为负数

 验证方法:运算4000次,求余数绝对值始终大于被求余数绝对值,第一个1000次被求余数与求余数皆为正数,第二个1000次被求余数为负数,求余数为正数,第三个1000次被求余数为负数,求余数为正数,第四个1000次被求余数与求余数皆为负数,通过这四个1000次运算来验证在求余数绝对值大于被求余数绝对值的情况下,被求余数与求余数符号变化下的求余结果。

代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{int a1, b1 = 2, a2 = 1, b2 = -2, a3 = -1, b3 = 2, a4 = -1,b4 = -2;for (a1 = 1; a1 <= 1000; a1++){printf("a值:%d b值:%d	a%%b: % d",a1,b1, a1 % b1);b1++;printf("	a值:%d b值:%d	a%%b: % d", a2, b2, a2 % b2);a2++;b2--;printf("	a值:%d b值:%d	a%%b: % d", a3, b3, a3 % b3);a3--;b3++;printf("	a值:%d b值:%d	a%%b: % d\n", a4, b4, a4 % b4);a4--;b4--;}return 0;
}

运行结果如下:

结论:求余绝对值大于自身绝对值的数结果仍为其自身。 

四、求余数大小与求余结果范围间的关系

验证方法:定义a、b、c三个变量,让a从1开始自加1至100,循环100次,每次循环打印a%b的结果,a每循环100次,b、c值加1,b从1开始,c从0开始,当c=100时结束循环,共循环10000次,验证求余数在1~100范围内求余结果的范围变化。

代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{int a=0, b=1,c=0;while(a<=100){a++;printf("a值:%d	a%%b:%d	",a,a % b);if (a == 100){printf("\nb值:%d\n", b);printf("---------------------------------------------------------------------------------------------------\n");a = 0;b++;c++;if (c == 100){break;}}}return 0;
}

运行结果如下:

观察发现:

b值(求余数)为1时,求余结果始终为0 

b值为2时,求余结果始终在(0~1)间变化

b值为3时,求余结果始终在(0~2)间变化

...

b值为98时,求余结果始终在(0~97)间变化

b值为99时,求余结果始终在(0~98)间变化

b值为100时,求余结果始终在(0~99)间变化

...

b值为n时,求余结果始终在(0~n-1)间变化

结论:求余数为n时,求余结果的范围为0~n-1


http://chatgpt.dhexx.cn/article/ih7JESfP.shtml

相关文章

Docker Desktop 安装使用教程

系列文章&#xff1a; 一分钟教会你使用Docker Desktop搭建RocketMQ–巨简单 30秒完成在Docker Desktop中搭建kafka----你肯定没我快 在Docker中搭建 prometheus&#xff08;普罗米修斯&#xff09;这个大佬 来来来&#xff0c;咱统计一下Docker常用命令 什么&#xff1f;…

docker安装步骤

目录 一、docker安装步骤 Ⅰ、官方安装文档 Ⅱ、具体安装步骤 一、docker安装步骤 Ⅰ、官方安装文档 Install Docker Engine | Docker Documentation Ⅱ、具体安装步骤 1、卸载原来安装过的docker&#xff0c;如果没有安装可以不需要卸载 yum remove docker \docker-cli…

Docker环境安装

本文介绍yum与二进制两种环境部署方式&#xff0c;二选一即可。 一、yum安装 若有旧版本docker需要使用以下命令卸载: sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-eng…

Docker buildx 安装

文章目录 推荐简介开启实验室特性安装docker buildx安装模拟器Build多平台image问题及解决方法问题一问题二 参考链接 推荐 欢迎关注公众号9500后&#xff0c;围观技术、生活和日常。 简介 Docker buildx是docker的一个插件&#xff0c;它包含如下作用&#xff1a; 支持Mob…

Docker安装MySQL

目录 前言 一、拉取镜像 二、查看镜像 三、运行镜像 四、查看正在运行的容器 五、查看容器内部 六、修改mysql配置 七、重启mysql服务&#xff0c;使其配置生效 八、设置docker启动时启动mysql 九、重启mysql 十、授权远程访问 10.1 进入容器内部 10.2 登陆mysql 10.…

docker安装rabbitmq

1.准备 需要安装好docker环境&#xff0c;可以阅读文章在Centos和Redhat上安装Docker_小帅虎丶丿的博客-CSDN博客 学习如何安装docker 需要安装docker-compose,了解yaml格式文件的编写以及一些常用的docker-compose的属性&#xff0c;可以参考文章 需要会使用dockerfile构建…

Docker中安装宝塔

1、docker拉取ubuntu系统 docker pull ubuntu 2、运行容器 docker run -i -t -d --name bt -p 2000:20 -p 2100:21 -p 8000:80 -p 4430:443 -p 8880:888 -p 8888:8888 --privilegedtrue -v /d/baota:/www/wwwroot ubuntu -v后的/d/baota代表本地D盘的baota目录与ubuntu系统…

Win7安装Docker

Win7安装Docker 下载安装包为&#xff1a;DockerToolbox.exe下载docker的win安装工具 如果是win10系统&#xff0c;可以直接去docker官网下载docker for windows&#xff1b;如果不是&#xff0c;为了避免乱七八糟的错误&#xff0c;建议直接去阿里云下载老一点的版本&#xf…

Docker下安装Redis超详细步骤

查看需要安装的镜像版本 dockerHub官网地址 搜索reids 2.点击标签 3.查看需要的版本 在安装好docker的linux中执行命令 拉取镜像 //拉取最新版本 docker pull redis //拉取指定版本 docker pull redis:6.0.8查看是否拉取成功 docker images去redis官网下载redis,然后在…

【docker】Mac M1版本下载安装

文章目录 docker简介为什么使用dockerdocker Mac系统M1安装M1版本下载地址 配置国内加速镜像检查是否安装成功总结 docker简介 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux…

Windows10下载安装docker

Docker 简介 Docker 并非是一个通用的容器工具&#xff0c;它依赖于已存在并运行的 Linux 内核环境。 Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境&#xff0c;因此它执行的效率几乎等同于所部署的 Linux 主机。 因此&#xff0c;Docker 必须部署在 Linux…

windows下Docker的下载与安装

一、下载 1、下载地址&#xff1a;docker下载 选择适合自己操作系统的 2、下载完毕之后&#xff0c;双击安装包进⾏安装即可。 3、打开docker&#xff0c;一般会弹出下面的弹窗点击链接&#xff0c;按照网页提示依次进行操作。 下载完成后&#xff0c;运行上一步中下载的…

docker下载安装

1. 安装docker 离线安装路径&#xff1a; https://download.docker.com/linux/static/stable/x86_64/ 下载&#xff1a;docker-18.06.3-ce.tgz 使用ftp上传文件到服务器 解压文件&#xff1a; tar -zxvf docker-18.06.3-ce.tgz 复制docker文件&#xff1a;cp docker/* /usr/b…

【Docker】Docker下载与安装

目录 零、文章简介 一、Docker介绍 二、Docker安装 2-1、使用Boot2Docker安装 2-1-1、安装 2-1-2、初始化 2-1-3、初始化失败&#xff1a;解决&#xff1f; 2-1-4、小结和检测 2-2、Docker Toolbox 2-2-1、下载 2-2-2、安装 2-2-3、初始化 2-2-4、初始化后的样子 …

Docker 下载安装使用(简单教程)

虚拟化容器技术。Docker基于镜像&#xff0c;可以秒级启动各种容器。每一种容器都是一个完整的运行环境&#xff0c;容器之间互相隔离。 安装Docekr https://docs.docker.com/engine/install/fedora/ Docker下载地址 1、卸载linux服务器中旧版本的docker&#xff08;不管有没…

uniapp中app分享小程序方法

在uniapp中只需要调用uni.share这个api就可以发起app中分享到小程序&#xff0c;其中id需要绑定小程序管理后台中的id。 但是很多时候会报[share&#xff1a;-3]这个错误&#xff0c;官方给出的解释是&#xff1a;‘发送失败’&#xff0c;后来我多次尝试后发现&#xff0c;we…

uniapp 微信小程序分享到好友 朋友圈

维信小程序分享到朋友圈 只支持安卓部分机型 点击头部分享 onLoad: function() {wx.showShareMenu({withShareTicket: true,menus: ["shareAppMessage", "shareTimeline"]})}, 通过按钮分享 <button open-type"share" class"share&qu…

微信小程序、app之间的跳转

1.微信小程序 --> 微信小程序&#xff08;之前有须为同一公众号下的小程序这一限制&#xff0c;现在可随意跳转&#xff09; 首先说一下到另一个小程序需要的东西&#xff1a; 跳转目标小程序的APPID 使用navigator组件或者微信小程序API&#xff08;wx.navigateToMiniPro…

uniapp分享微信提示由于不支持的分享类型无法分享到微信,App分享为微信小程序方法,由于不支持的分享类型无法分享到微信,由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信.

文章目录 由于不支持的分享类型无法分享到微信(解决)由于应用和小程序未绑定在同意微信开放平台账号&#xff0c;无法分享到微信(解决)share:fail [Share微信分享:-3]Unable to send, https://ask.dcloud.net.cn/article/287 在使用uniapp开发App分享微信&#xff0c;提示 由于…

uniapp app分享功能微信小程序的分享

小程序端和app端分享html <!-- #ifdef APP-PLUS --> <view class"goodsMenu" click"appShare"><view class"menuIcon"><image src"/package/static/mall/goodsShare.png" mode""></image>&l…