取余数的应用价值

在数学中常见的有加减乘除,而在计算机编程中,多了一个叫模的东西,也就是我们所的取余。

取余数的作用有哪些呢?

在c++中,整数和整数相除,得到的还是整数,余数部分若需要则需要用模(%)计算出来。

取余数还可以用在判断奇偶性上,因为我们看到数字一眼就能看出来是单数还是双数。

但是计算机不可以,因此我们需要给它一个规则,让其按照这个规则进行计算。

并且我们已经推算(注:就是推算!因为写程序需要找规律,而不是看!)得知,奇数不能被2整除,偶数可以被2整除,那么我们可知奇数除以2的余数是1,偶数除以2的余数是0,因此我们可以利用这个规则进行判断一个数是奇数还是偶数。

例:

#include<bits/stdc++.h>
using namespace std;
int main() {int n;cin>>n;if(n%2==0){cout<<"是偶数"<<endl; }else {cout<<"是奇数"<<endl;}return 0;
}

除了求奇偶性之外,还可以求质数、进制转换、拆数等用途,下面我们就求质数做一个简单的展示,其他功能将新开一个章节介绍。

质数(素数)是什么,只能被1和它自身整除的数称为质数。因此我们可知,最小的质数是2,因为1只能被1 整除(这里我们就不细说了,这归数学管,我们是用)。

质数的用途有哪些,那就多了,而我就只知道几个(手动狗头),其中最著名的就是哥德巴赫猜想了:任一大于 2 的偶数都可写成两个质数之和。因此,我们还是要认真了解在计算机中怎么求一个数是否是质数了。

根据定义我们可知,一个大于等于2的数能被除了1和它自身的数整除,则是合数,否则是质数。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main() {int n,f=1;//标识符f,若f改变则证明找到了能整除该数的其他数值 cin>>n;for(int i=2;i<n;i++){//模拟除了1和它本身的其他数 if(n%i==0) {f=0;break;} }if(f==1){cout<<"是质数"<<endl; } else {cout<<"是合数"<<endl;}return 0;
}

但是,我们经过计算可以知道,从2开始到n/2+1结束就可以了,因为一个大于这个数n的一半x,n/x的值将是在2到1之间的一个小数,不可能是整数,因此后面的数则不可能还有整除的数,故可以排除一半的数据,减少循环次数。

部分代码如下:

for(int i=2;i<=n/2+1;i++){//模拟除了1和它本身的其他数 if(n%i==0) {f=0;break;} }

但但是,我们还知,一个数可以拆成a*b=n,假定a<=b,则可以写成a*a<=a*b<=n,若我们模拟到a仍未找到能整除n的数,故可得出结论n是质数。

部分代码如下:

for(int i=2;i*i<=n;i++){//模拟除了1和它本身的其他数 if(n%i==0) {f=0;break;} }

最后我们给出两个完整代码

常规版:

#include<bits/stdc++.h>
using namespace std;
int main() {int n,f=1;//标识符f,若f改变则证明找到了能整除该数的其他数值 cin>>n;if(n<2) f=0;//若n小于2则一定不是质数 for(int i=2;i*i<=n;i++){//模拟除了1和它本身的其他数 if(n%i==0) {f=0;break;} }if(f==1){cout<<"是质数"<<endl; } else {cout<<"是合数"<<endl;}return 0;
}

函数版:(若看不懂,就敬请期待我们的函数讲解篇吧)

#include<bits/stdc++.h>
using namespace std;
int zs(int n){if(n<2) return 0; for(int i=2;i*i<=n;i++){if(n%i==0) return 0;}return 1;
}
int main()
{int n;cin>>n;if(zs(n)==1){cout<<"是质数"<<endl; } else {cout<<"是合数"<<endl;}return 0;
}

到此,差不多结束了,我们后面还会补充进制转换,敲七小游戏等,这些都与取余数密切相关。

最后,还是那句话,如有不足,欢迎大家补充,我们是在一块学习进步的!

C++ 入门基础 取余数的应用价值相关推荐

  1. java基础-取余数,取商

    取余数 int a=15; int b=10; 取余: a%b 等于5 取商: a/b等于1 随机数 Random random = new Random(); int index=(int) ran ...

  2. [Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  3. c#使用正则表达式获取TR中的多个TD_[Python从零到壹] 四.网络爬虫之入门基础及正则表达式抓取博客案例...

    首先祝大家中秋节和国庆节快乐,欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都 ...

  4. Python精通-Python入门基础

    导语   入坑Python系列开始了 文章目录 Python入门程序 Python程序运行方式 Python代码分析 执行一个操作内容 变量 条件语句 基本数据类型 字符串 数字 基本运算 加法 减法 ...

  5. 计算机入门基础知识!学编程从认识计算机开始!

    以前帮学弟学妹们总结的计算机入门基础资料,我觉得算是很好的科普入门资料了. 目录 1.1.1    计算机的发展史 1946年ENIAC在宾夕法尼亚大学被制作,数字积分式计算机 冯诺依曼体系: 计算机 ...

  6. golang开发工程师-第一步:golang入门基础教学

    golang入门基础教学 前言 一.golang的优势何在? 二.goland破解教程 三.goland的使用教程 四.一个简单的go代码 五.变量的声明和赋值 六.数据类型的基本介绍 七.访问权限[ ...

  7. 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据

    原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...

  8. Python入门基础(下)之魔方方法

    Python入门基础(下)之魔方方法 一.学习内容概括 学习地址:https://tianchi.aliyun.com/s/58327c15d1faee512c008128d3bb9e32 今天主要学 ...

  9. CSH 入门基础 1 -- bash与 csh 差异 及csh常用语法介绍

    文章目录 CSH 背景 1.1.1 csh 与 bash 差异 1.1.2 CSH IF 语句 1.1.3 CSH While 语句 1.1.3 CSH switch 语句 下篇文章:CSH 入门基础 ...

最新文章

  1. ClassFlow推出全新课堂活动轨迹功能
  2. 柔性生态布局未来,小鱼易连 2019“深耕视界逐梦小鱼”北京火爆招募
  3. 【廖雪峰python入门笔记】tuple_“元素可变”
  4. 子段乘积(逆元费马小定理)+线段树做法
  5. scrum敏捷项目管理工具leangoo卡片关联上线(可关联卡片,看板,项目)
  6. jQuery学习笔记(Ajax)
  7. 喜欢 Netflix 么?你应该感谢 FreeBSD
  8. Mysql sequence使用_MySQL 序列使用_mysql sequence_mysql auto increment
  9. golang goroutine协程运行机制及使用详解
  10. 【Elasticsearch】es 7 Failed to parse value [analyzed] as only [true] or [false] are allowed
  11. javascript学习笔记 - 引用类型 Function
  12. aes没有密码能解密吗_如果人体基因密码被破译,人类平均寿命能提高到1000岁吗?...
  13. angular2组件通讯
  14. WinCE偶尔不能正常启动(内存清理)
  15. ArcGIS利用DEM提取河流水系
  16. WebSSH神器sshwifty的安装与使用
  17. HTML5在豆瓣中的应用
  18. 微信翻译生日快乐的代码_微信表情翻译表白代码彩蛋怎么设置! 表情emm加符号翻译文字暗语大全...
  19. 超高颜值高性价比蓝牙耳机,2021学生党最爱平价蓝牙耳机推荐
  20. 关于 Java 的线程状态

热门文章

  1. html项目符号正方形,html – 列表项下的项目符号
  2. 第13天 缓冲、转换、对象(序列化)和打印流
  3. c语言出错英语显示怎么看,C语言程序设计 教小学生英语 里面有代码运行错误,怎么改...
  4. Spark入门学习交流—Spark生态圈
  5. .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  6. 机器人识别抓取笔记(基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计:综述)
  7. 浙江大学 工程伦理 第二章单元测试答案
  8. 抖音壁纸表情包小程序源码,可对接流量主
  9. 使用IntelliJ Idea新建SpringBoot项目
  10. 在不借助中间变量的前提下,交换两个变量的值