IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 用数学解释判断一个数是不是质数,为什么只需遍历上限是算数平方根的范围 -> 正文阅读

[C++知识库]用数学解释判断一个数是不是质数,为什么只需遍历上限是算数平方根的范围

质数定义

一个大于1的自然数

质数又被称为素数,是指一个大于1的自然数,除了1和它自身外,不能被其它自然数整除。

反比例函数

比如我们需要判断数m(m>1)是不是质数。

对于我们来说m就是一个定值,需要找出所有两个数相乘为m的所有可能,我们设其中一个因数为x,另一个因数为y,因此x,y满足xy=m变换为y = m/x。

y = m/x函数形式不错就是我们数学中所学的反比例函数,好的我们画出此函数。

?

我们只需从该函数中找出x,y相乘,积为m的二元有序对(x,y)即可。

那和算数平方根由什么关系呢?

我们根据数学知识可知,y = m/x(m>1)反比例函数是关于y=x对称,因此我们画出y=x。

?

?

根据y=m/x,y=x我们可以求出交点(√m,√m),

关于y=m/x反比例函数关于y=x对称,在y=m/x上的任意一点(x0,y0),关于y=x的对成点为(y0,x0),两点(x0,y0),(y0,x0)分别在(√m,√m)的左右,又因为x0*y0=y0*x0=m,也就是说我们在交点(√m,√m)左边找到的(x0,y0)满足x0*y0=m,也能在(√m,√m)右边找到与之唯一对应的点(y0,x0)满足y0*x0=m。

判断质数不考虑两个因数的顺序问题,所以根据以上描述我们只需在x<=√m的范围判断是否存在(x,y)满足 x,y是正整数,并且x,y≠1的二元有序对,如果不存在则为质数,否则为合数。

代码

#include <stdio.h>
#include <math.h>

int isPrime(int n) {
    if (n < 2) {
        return 0;
    }
    for (int i = 2; i <= sqrt(n); i++) {
        if(n % i == 0) {
            return 0;
	    }
    }
    return 1;
}

int main() {
    for (int i = 101; i <= 200; i++) {
        if (isPrime(i)) {
            printf("%d\n", i);
        }
    }
    return 0;
}



  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:22:52  更:2022-05-09 12:23:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:32:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码