tokenpocket最新官方网站|什么叫质数举例子

作者: tokenpocket最新官方网站
2024-03-09 23:00:35

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

知道宝贝找不到问题了>_

该问题可能已经失效。返回首页

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

京ICP证030173号-1   京网文【2023】1034-029号     ©2024Baidu  使用百度前必读 | 知道协议 

请通俗易懂地讲讲什么是素数(质数)? - 知乎

请通俗易懂地讲讲什么是素数(质数)? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册数论素数初等数论请通俗易懂地讲讲什么是素数(质数)?本人不知道质数(素数)到底是什么,因数这些与它相关的数学术语也不知道。所以请通俗易懂地,尽可能简单地讲讲什么是质数,就如同跟小孩讲这个一样,谢谢。显示全部 ​关注者23被浏览68,516关注问题​写回答​邀请回答​好问题 2​添加评论​分享​17 个回答默认排序知乎用户​数学话题下的优秀答主小学的时候经常会把一些弹力球啊弹珠之类的东西摆成特定的形状玩。比如10颗弹珠,我们可以把它们摆放成2×5的长方形,或者5×2的长方形。总之可以摆出长方形。但是有一些数目的弹珠没法摆成长方形,只能摆成长长的一行或一列。这样的数目我们叫做素数。发布于 2020-09-29 23:15​赞同 46​​2 条评论​分享​收藏​喜欢收起​何冬州杨巅杨艳华典生​软件试用与测试​ 关注将自然数写成比它自己小的自然数的乘积,如果不能做到,那么它要么是0,要么是1,要么是质数。例如4=2*2,4可以写成比4小的数相乘,因此4不是素数。例如2,比2小的自然数有0和1,它们无论怎么相乘,得不到2,所以2是素数。再如3,比3小的自然数有0,1,2,它们无论怎么相乘,得不到3,所以3是素数。再如5,比5小的自然数有0,1,2,3,4,它们无论怎么相乘,得不到5,所以5是素数。关于0,1的特性,见后文说明。换个说法:一个自然数,如果它不是0,也不是1,它也不能分解成比它自己小的自然数的乘积,那么它是质数。30以内的质数有2,3,5,7,11,13,17,19,23,29外一则:一个自然数,如果它能分解成比它自己小的自然数的乘积,那么它是合数。30以内的合数有4,6,8,9,10,12,14,15,16,18,20,21,22,24,25,26,27,28合数分解成比它自己小的自然数的乘积举例:4=2*2=2^2,6=2*3,8=2*4=2*2*2=2^3,9=3*3=3^2,10=2*5,12=2*6=2*2*3=4*3=(2^2)*3,......综上,自然数可以分三类:{0,1}为一类,质数为一类,合数为一类。或者分四类:1,质数,合数,0{0,1},0的乘法属性是吸收一切,是随自己的,0乘以任何数得0;1的乘法属性是奉献自我,是随他人的,1乘以谁就等于谁。它们的共性,0乘0等于他自己,1乘1等于他自己,可以称呼它们为幂循环数。质数,它不是1,它被1和它自己整除,不能被其它数整除。能整除它的数,只有1和它自己,只有这2个。我们说他的因数有2个。合数,除了能被1和它自己整除,还能被小于它的其它数整除。能整除它的数,除了1和它自己,还有有限个。我们说他的因数有多个。1只能被1整除,我们说他的因数只有1,同时也是它自己,它只有1个因数。0除了能被1和它自己整除,还能被其它任意自然数整除。能整除它的数,除了1和它自己,还有无限个。我们说他的因数有无数个(无限,无穷,无穷多个)。我个人有个提议:将0,1,素数称为准数,或分解基数,在考虑自然数的分解时,它们是基本的、基础的数。相关答题:何冬州杨巅杨艳华典生:为什么1不算素数?何冬州杨巅杨艳华典生:请通俗易懂地讲讲什么是素数(质数)?何冬州杨巅杨艳华典生:对于特定的正整数n,能拆成不同的n组两个素数之和的偶数有是否只有有限多个?以下为2021-8-10新增{质数和合数这两个词,是相对反义词。自然数={非质数也非合敢(幂循环数)0,1}+{质数2,3,57,11,13,...}+{合数4,6,8,9,10,12,...}我提议:自然数={准数(或称分解基数0,1这两个幂循环数,和所有质数)}+{合数4,6,8,9,10,12,...}补注:1曾经被归入质数,但为了保证质因数分解的有效性和唯一性,后来将他从质数中区别出来。0在某种意义上既有与合数相似的属性,我也曾想到把它归入合数里面。后来又发现,0也有与质数相似的属性(将它要写成因数分解的形式,必须有他自己存在)。同时我们发现,0与1有一种共性,就是他们的乘幂具有幂循环性(幂守性,幂模不变性,幂的绝对值不变性):我们定义j具有幂循环性(幂守性),是指j^n∈有限集合F(当n遍历自然数集时)。在自然数集上也可以称为幂等性,对应j=0,1,有限集合F={0},{1};在(有理)整数集上,对应j=0,-1,有限集合F={0},{-1,1};在高斯整数集{形如a+b√(-1),(常常将√(-1)记作i);a,b为有理整数},对应j=0,√(-1),有限集合F={0},{-i,-1,i,1};在代数整数集上,...数的乘积分解,必须考虑到这种幂循环性。因此我们把幂循环数和质数合称为(积)分解基数,或者积准数,简称准数。8月13日新增:一、幂循环数:自然数范围内讨论:0的因数为任意自然数,即因子个数为∞个。1的因数只有1,即因子个数为1个。0的n≥1次方幂是0,1的n≥1次方幂是1,他们具有共性:幂等于它们自己。它们均归入 幂循环数。0以外的幂循环数称为幺数。幺数的概念扩展:如果一组幺数可以由一个幺数e的幂来生成,那么我们称这个幺数e为 本原幺数 或者 (本)母幺数,其他幺数为派生幺数。称这些幺数之间的关系为相伴。 如果一个数a=另外一个数b*幺数,我们也说a和b相伴。在整数范围内,1与-1均为幺数,其中-1是本原幺数。二、质数:自然数范围内讨论:因数个数=2个。质数概念扩展到整数范围:质数与它的相伴数,即质数*幺数=质数*{-1,1},均称为质数,也可以称为正质数与负质数。更广的扩充:质数的相伴数我们均称为质数。但是为了保证质因数分解的唯一性,我们最好是将基本的质数和本母幺数称为分解基数或准数,称为数的准数因子分解的唯一性,或者质因数分解的相伴数归并意义上的唯一性。(这些用辞有待进一步的标准化和简化。)}编辑于 2021-08-13 18:17​赞同 9​​9 条评论​分享​收藏​喜欢

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

知道宝贝找不到问题了>_

该问题可能已经失效。返回首页

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

京ICP证030173号-1   京网文【2023】1034-029号     ©2024Baidu  使用百度前必读 | 知道协议 

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

知道宝贝找不到问题了>_

该问题可能已经失效。返回首页

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

京ICP证030173号-1   京网文【2023】1034-029号     ©2024Baidu  使用百度前必读 | 知道协议 

质数_百度百科

度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心质数[zhì shù]播报讨论上传视频数学概念收藏查看我的收藏0有用+10质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。中文名质数外文名prime number别    名素数讨论范围非0自然数定    义只有1和它本身两个因数的自然数反义词合数所属范围自然数目录1简介2性质3应用4编程▪基本判断思路▪代码▪素性检测▪筛素数法5猜想▪哥德巴赫猜想▪黎曼猜想▪孪生质数▪梅森质数简介播报编辑质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn。如果 为素数,则 要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。如果N+1为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。其他数学家给出了一些不同的证明。欧拉证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。尽管整个素数是无穷的,仍然有人会问“100,000以下有多少个素数?”,“一个随机的100位数多大可能是素数?”。素数定理可以回答此问题。性质播报编辑1、质数p的约数只有两个:1和p。2、算术基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。3、质数的个数是无限的。4、质数的个数公式 是不减函数。5、若n为正整数,在 到 之间至少有一个质数。6、若n为大于或等于2的正整数,在n到 之间至少有一个质数。7、在一个大于1的数a和它的2倍之间(即区间(a, 2a]中)必存在至少一个素数。8、存在任意长度的素数等差数列 [1]。 9、任一充分大的偶数都可以表示成一个素数加一个素因子个数不超过2个的数的和,简称为“1+2”。 [2]。应用播报编辑质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。以质数形式无规律变化的导弹和鱼雷可以使敌人不易拦截。多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。编程播报编辑基本判断思路在一般领域,对正整数n,如果用2到 之间的所有整数去除,均无法整除,则n为质数。代码Python 代码:from math import sqrt

def is_prime(n):

    if n == 1:

        return False

    for i in range(2, int(sqrt(n))+1):

        if n % i == 0:

            return False

    return TrueJava代码:1.  

 public static boolean testIsPrime2(int n){

       if (n <= 3) {

            return n > 1;

        }

       

       for(int i=2;i

           if(n%i == 0)

               return false;

       }

       return true;

   }

/*优化后*/

 public static boolean testIsPrime3(int n){

       if (n <= 3) {

            return n > 1;

        }

       

       for(int i=2;i<=Math.sqrt(n);i++){

           if(n%i == 0)

               return false;

       }

       return true;

   }

   

   

2.

public class Prime {

    public static void main(String[] args) {

        int a = 17; //判断17是不是质数

        int c = 0;

        for (int b = 2; b < a; b++) {

            if (a % b != 0) {

                c++;

            }

        }

        if (c == a - 2) {

            System.out.println(a + "是质数");

        } else {

            System.out.println(a + "不是质数");

        }

    }

}Php代码:function isPrime($n) {//TurkHackTeam AVP production

    if ($n <= 3) {

        return $n > 1;

    } else if ($n % 2 === 0 || $n % 3 === 0)  {

        return false;

    } else {

        for ($i = 5; $i * $i <= $n; $i += 6) {

            if ($n % $i === 0 || $n % ($i + 2) === 0) {

                return false;

            }

        }

        return true;

    }

}C#代码:using System;

 namespace 计算质数

 {

    class Program

    {

        static void Main(string[] args)

        {

            for (int i = 2,j=1; i < 2100000000&&j<=1000; i++)//输出21亿内的所有质数,j控制只输出1000个。

            {

                if (st(i))

                {

                    Console.WriteLine("{0,-10}{1}",j,i);

                    j++;

                }

            }

        }

        static bool st(int n)//判断一个数n是否为质数

        {

            int m = (int)Math.Sqrt(n);

            for(int i=2;i<=m;i++)

            {

                if(n%i==0 && i!=n)

                    return false;

           } 

            return true;

        }

    }

 }

 C代码:#include 

#include 

int main()

{

    double x,y,i;

    int a,b;

    x = 3.0;

    do{

        i = 2.0;

        do{

            y = x / i;

            a = (int)y;

            if(y != a)//用于判断是否为整数

            {

                if(i == x - 1)

                {

                    b = (int)x;

                    printf("%d\n",b);

                }

            }

            i++;

        }while(y != a);

        x++;

    }while(x <= 10000.0);//3到10000的素数

    system("pause");//防止闪退

    return 0;

}C/C++代码:#include

#include

#include

using namespace std;

const long long size=100000;//修改size的数值以改变最终输出的大小

long long zhishu[size/2];

void work (){//主要程序

    zhishu[1]=2;

    long long k=2;

    for(long long i=3;i<=size;i++){//枚举每个数

        bool ok=1;

        for(long long j=1;j

            if(i%zhishu[j]==0){

                ok=!ok;

                break;

            }

        }

        if(ok){

            zhishu[k]=i;

            cout<<"count"<

            k++;

        }

    }

}

int main(){

    freopen("zhishu.out","w",stdout);

    cout<<"count1 2"<

    work();

    return 0;

}bool isPrime(unsigned long n) {

    if (n <= 3) {

        return n > 1;

    } else if (n % 2 == 0 || n % 3 == 0) {

        return false;

    } else {

        for (unsigned short i = 5; i * i <= n; i += 6) {

            if (n % i == 0 || n % (i + 2) == 0) {

                return false;

            }

        }

        return true;

    }

}Pascal代码:function su(a:longint):boolean;

var

begin

    if a=2 then exit(true) else for i:=2 to trunc(sqrt(a))+1 do if a mod i=0 then exit(false);

    exit(true);

end.Javascript代码:function isPrime(n) {

    if (n <= 3) { return n > 1; }

    if (n % 2 == 0 || n % 3 == 0) { return false; }

    for (var  i = 5; i * i <= n; i ++) {

        if (n % i == 0 || n % (i + 1) == 0) { return false; }

    }

    return true;

}Go代码:func isPrime(value int) bool {

    if value <= 3 {

        return value >= 2

    }

    if value%2 == 0 || value%3 == 0 {

        return false

    }

    for i := 5; i*i <= value; i += 6 {

        if value%i == 0 || value%(i+2) == 0 {

            return false

        }

    }

    return true

}Basic 代码Private Function IfPrime(ByVal x As Long) As Boolean

    Dim i As Long

    If x < 0 Then x = -x

    If x = 2 Then Return True

    If x = 1 Then Return True

    If x = 3 Then Return False

    If x = 0 Then 

        MsgBox("error",,)

        Return False

    End If

    For i = 2 To Int(Sqrt(x)) Step 1

        If x Mod i = 0 Then Return False

    Next i

    Return True

End FunctionALGOL代码begin

    Boolean array a[2:100];

    integer i,j;

    for i := 2 step 1 until 100 do

    a[i] := true;

    for i := 2 step 1 until 10 do

        if a[i] then

                for j := 2 step 1 until 1000÷i do

                    a[i × j] := false;

    for i := 2 step 1 until 100 do

        if a[i] then

            print (i);

end            素性检测素性检测一般用于数学或者加密学领域。用一定的算法来确定输入数是否是素数。不同于整数分解,素性测试一般不能得到输入数的素数因子,只说明输入数是否是素数。大整数的分解是一个计算难题,而素性测试是相对更为容易(其运行时间是输入数字大小的多项式关系)。有的素性测试证明输入数字是素数,而其他测试,比如米勒 - 拉宾(Miller–Rabin )则是证明一个数字是合数。因此,后者可以称为合性测试。素性测试通常是概率测试(不能给出100%正确结果)。这些测试使用除输入数之外,从一些样本空间随机出去的数;通常,随机素性测试绝不会把素数误判为合数,但它有可能为把一个合数误判为素数。误差的概率可通过多次重复试验几个独立值a而减小;对于两种常用的测试中,对任何合数n,至少一半的a检测n的合性,所以k的重复可以减小误差概率最多到 ,可以通过增加k来使得误差尽量小。随机素性测试的基本结构:1、随机选取一个数字a。2、检测某个包含a和输入n的等式(与所使用的测试方法有关)。如果等式不成立,则n是合数,a作为n是合数的证据,测试完成。3、从1步骤重复整个过程直到达到所设定的精确程度。在几次或多次测试之后,如果n没有被判断为合数,那么可以说n可能是素数。常见的检测算法:费马素性检验(Fermat primality test),米勒拉宾测试(Miller–Rabin primality test) ,Solovay–Strassen测试,卢卡斯-莱默检验法(Lucas–Lehmer primality test)。筛素数法筛素数法可以比枚举法节约极大量的时间(定n为所求最大值,m为≤n的质数个数,那么枚举需要O(n^2)的时间复杂度,而筛素数法为O(m*n),显然m<

#include

#include

#include

using namespace std;

const long long size=1000000;//修改此值以改变要求到的最大值

bool zhishu[size+5]={false};

int main(){

    freopen("zhishu.out","w",stdout);//输出答案至“筛质数(shaizhishu).exe”所在文件夹内

    zhishu[2]=true;

    for(long long i=3;i<=size;i+=2)zhishu[i]=true;//所有奇数标为true,偶数为false

    for(long long i=3;i<=size;i++){

        if(zhishu[i]){//如果i是质数

            int cnt=2;

            while(cnt*i<=size){//把i的倍数标为false(因为它们是合数)

                zhishu[cnt*i]=false;

                cnt++;

            }

        }

    }

    int cnt=1;

    for(int i=2;i<=size;i++){//全部遍历一遍

        if(zhishu[i]){//如果仍然标记为true(是质数)则输出

            cout<

            cnt++;

        }

    }

    return 0;

}

/*

样例输出结果,第一个数是个数,第二个是第几个质数

1 2

2 3

3 5

4 7

5 11

6 13

7 17

8 19

9 23

10 29

11 31

12 37

13 41

14 43

15 47

16 53

17 59

18 61

19 67

20 71

21 73

22 79

23 83

24 89

25 97

*/筛选法的Java实现,如下:/**

 * @title SOE

 * @desc 简单的埃氏筛选法计算素数 

 * @author he11o

 * @date 2016年5月3日

 * @version 1.0

 */

public class SOE {

    public static int calPrime(int n){

        if(n<=1){

            return 0;

        }

        byte[] origin = new byte[n+1];

        int count = 0;

        for(int i=2;i

            if(origin[i] == 0){

                count++;

                int k = 2;

                while(i*k<=n){

                    origin[i*k] = 1; 

                    k++;

                }

            }else{

                continue;

            }

        }

        return count;

    }

}采用简单的埃氏筛选法和简单的开方判断素数法计算1000000以内素数的个数的效率比较:StopWatch '计算1000000以内素数的个数': running time (millis) = 268-----------------------------------------ms % Task name-----------------------------------------00024 009% 简单的埃氏筛选法;00244 091% 简单的开方判断素数法。猜想播报编辑哥德巴赫猜想:是否每个大于2的偶数都可写成两个素数之和?孪生素数猜想:孪生素数就是差为2的素数对,例如11和13。是否存在无穷多的孪生素数?斐波那契数列内是否存在无穷多的素数?是否有无穷多个的梅森素数?在n2与(n+1)2之间是否每隔n就有一个素数?是否存在无穷个形式如X2+1素数?黎曼猜想 [2]哥德巴赫猜想在1742年给欧拉的信中哥德巴赫提出了以下猜想:任一大于2的整数都可写成两个质数之和。因现今数学界已经不使用“1也是素数”这个约定,原初猜想的现代陈述为:任一大于5的整数都可写成三个质数之和。欧拉在回信中也提出另一等价版本,即任一大于2的偶数想陈述为欧拉的版本。把命题"任一充分大的偶数都可以表示成为一个素因子个数不超过a个的数与另一个素因子不超过b个的数之和"记作"a+b"。1966年陈景润证明了"1+2"成立,即"任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和"。 今日常见的猜想陈述为欧拉的版本,即任一大于2的偶数都可写成两个素数之和,亦称为“强哥德巴赫猜想”或“关于偶数的哥德巴赫猜想”。从关于偶数的哥德巴赫猜想,可推出任一大于7的奇数都可写成三个质数之和的猜想。后者称为“弱哥德巴赫猜想”或“关于奇数的哥德巴赫猜想”。若关于偶数的哥德巴赫猜想是对的,则关于奇数的哥德巴赫猜想也会是对的。1937年时前苏联数学家维诺格拉多夫已经证明充分大的奇质数都能写成三个质数的和,也称为“哥德巴赫-维诺格拉朵夫定理”或“三素数定理”。2013年,秘鲁数学家哈拉尔德·赫尔弗戈特在巴黎高等师范学院宣称:证明了一个“弱哥德巴赫猜想”,即“任何一个大于7的奇数都能被表示成3个奇素数之和”。黎曼猜想黎曼猜想是关于黎曼ζ函数ζ(s)的零点分布的猜想,由数学家波恩哈德·黎曼(1826~1866)于1859年提出。德国数学家希尔伯特列出23个数学问题。其中第8问题中便有黎曼假设。素数在自然数中的分布并没有简单的规律。黎曼发现素数出现的频率与黎曼ζ函数紧密相关。黎曼猜想提出:黎曼ζ函数ζ(s)非平凡零点(在此情况下是指s不为-2、-4、-6等点的值)的实数部份是1/2。即所有非平凡零点都应该位于直线1/2 + ti(“临界线”(critical line))上。t为一实数,而i为虚数的基本单位。无人给出一个令人信服的关于黎曼猜想的合理证明。在黎曼猜想的研究中,数学家们把复平面上 Re(s)=1/2 的直线称为 critical line。 运用这一术语,黎曼猜想也可以表述为:黎曼ζ 函数的所有非平凡零点都位于 critical line 上。黎曼猜想是黎曼在 1859 年提出的。在证明素数定理的过程中,黎曼提出了一个论断:Zeta函数的零点都在直线Res(s) = 1/2上。他在作了一番努力而未能证明后便放弃了,因为这对他证明素数定理影响不大。但这一问题仍然未能解决,甚至于比此假设简单的猜想也未能获证。而函数论和解析数论中的很多问题都依赖于黎曼假设。在代数数论中的广义黎曼假设更是影响深远。若能证明黎曼假设,则可带动许多问题的解决。孪生质数1849年,波林那克提出孪生质数猜想(the conjecture of twin primes),即猜测存在无穷多对孪生质数。猜想中的“孪生质数”是指一对质数,它们之间相差2。例如3和5,5和7,11和13,10,016,957和10,016,959等等都是孪生质数。英国数学家戈弗雷·哈代和约翰·李特尔伍德曾提出一个“强孪生素数猜想”。这一猜想不仅提出孪生素数有无穷多对,而且还给出其渐近分布形式。2013年5月14日,《自然》(Nature)杂志在线报道张益唐证明了“存在无穷多个之差小于7000万的素数对”,这一研究随即被认为在孪生素数猜想这一终极数论问题上取得了重大突破,甚至有人认为其对学界的影响将超过陈景润的“1+2”证明。 [3]梅森质数17世纪还有位法国数学家叫梅森,他曾经做过一个猜想:当2p-1 中的p是质数时,2p-1是质数。他验算出:当p=2、3、5、7、17、19时,所得代数式的值都是质数,后来,欧拉证明p=31时,2p-1是质数。 p=2,3,5,7时,2p-1都是素数,但p=11时,所得2,047=23×89却不是素数。梅森去世250年后,美国数学家科尔证明,267-1=193,707,721×761,838,257,287,是一个合数。这是第九个梅森数。20世纪,人们先后证明:第10个梅森数是质数,第11个梅森数是合数。由于这种质数珍奇而迷人,它被人们称为“数学珍宝”。值得一提的是,中国数学家和语言学家周海中根据已知的梅森质数及其排列,巧妙地运用联系观察法和不完全归纳法,于1992年正式提出了梅森素质分布的猜想,这一重要猜想被国际上称为“周氏猜测”。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

质数在数学中的应用有哪些? - 知乎

质数在数学中的应用有哪些? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册数学数论素数质数在数学中的应用有哪些?关注者2被浏览477关注问题​写回答​邀请回答​好问题​添加评论​分享​2 个回答默认排序HNBC​​教师资格证持证人​ 关注质数,也叫素数,是只有1和它本身两个约数的非零自然数.1,既不是质数,也不是合数.2,3,5,7…是质数.4,6,8,9…是合数.早在二千多年前,人们就已经知道并严格证明,质数有无穷多个.问题来了:研究质数,在数学中有什么作用或意义呢?凡事问个为什么,这便是我们人类天生具备的,所谓好奇心、探究精神.如果说,组成大千世界万物的基本成分叫元素.那么,质数就相当于自然数里的元素一般.西方科学,从它产生的那一刻起,骨子里,就一直在寻找组成复杂世界的始基粒子.这便是"原子假说".质数,便是这种原子假说,在数学里的体现.算术基本定理告诉我们:任何非零自然数都可以用质数来表示.如8=2^3,12=2^2x3,18=2x3^2…我们把这种操作,叫分解质因数.举个例子.求32的正因数个数及所有正因数之和.当然,可以把32的正因数一一列举出来,数一数,加一加.但这个数一旦大一点,就不适用了.如1260,有多少正因数,所有正因数之和为多少?是不是就有点棘手?有兴趣的知友,可参考下面的回答.再比如哥德巴赫猜想,它断言:任何大于2的偶数,都可以写成两个质数和的形式.也就是我们常说的1+1.至今还未得到证明,但却推动着数学向前发展.这也算得上研究质数的意义所在.欢迎评论和交流.发布于 2023-07-01 12:28​赞同 6​​添加评论​分享​收藏​喜欢收起​wzd​ 关注你这人在家中应用有那些❓天生我才必有用,但芸芸人生,有几人知你有用❓编辑于 2023-06-29 13:31​赞同 1​​添加评论​分享​收藏​喜欢收起​​

数论(一)质数 - 知乎

数论(一)质数 - 知乎切换模式写文章登录/注册数论(一)质数小螺蛎数量这一概念应该是人类能够最原始而直接地从生活中感受到的数学内容之一了。想一想我们最早接触到的数学应该就是认识数字了吧。在对自然数的研究中有一个很重要的概念,就是质数以及与其相对应的合数,这一回我们就来聊一聊质数。质因数分解在研究一个正整数时,最直接的一种方法就是将其分解(factorization)。但在分解的过程中有不同的方法,如12既可以写成2×6,也可以写成3×4。那么有没有一种方法将其分解为唯一的形式呢?答案就是继续分解,直到无法分解为止。根据算数基本定理(Fundamental Theorem of Arithmetic),所有大于1的自然数都可以被完全分解成质数的乘积的形式。如上面的例子,12=2×6=2×2×3;或写成12=3×4=3×2×2;我们发现这两种分解方法都得到了同样的结果。这样无法再分解的数就是质数,或称素数。而那种可以继续分解的数就是合数。这是一个比较直观的定义。准确地说,质数是除去1和它自身之外,再没有其他因数的正整数。因为1的存在,任何正整数都可以写成1乘以其自身。说到这里,想必读者对质数已有了一个直观的了解。就像我们刚刚所说的,质数的定义就是想要描述那些基本的数。质数之于合数,打个不甚恰当的比方,就好比字母相对于单词。质数作为基本的单位,可以合成各种合数;而任何合数都是由质数合成而来的。质数的英文prime number中的prime就有首要的、基本的意思。但不知为何,在汉语中prime number写成了质数。可能是prime也有优质的意思吧。只能说是中文单字命名时的一种缺陷了。而合数(composite number)就更能顾名思义了,composite即为合成的意思。质数的特征不同于英文中的字母只有有限个这一特点,质数有无限多个。这一发现早在早在公元前就被欧几里得(Euclid)提出:假设质数的个数只有有限个:2,3,5,7…p,p为最大的质数。则所有的正整数都由这些质数合成而来,也就是所有的数都可以被2,3,5,7…p中的某些数整除,那么,2×3×5×7×…×p+1这个合数肯定也能够被2,3,5,7...p中的某些数整除。但是,从2×3×5×7×…×p+1这个表达式我们就能看出来,它并不能被2,3,5,7...p中的任何数整除,也就形成了悖论,所以我们之前的假设并不成立,也就说明了一定有无限多个质数。(反证法的典型应用)质数都有哪些呢?刚才我们提到的2,3,5,7都是质数,我们可以按照质数的定义继续寻找,2,3,5,7,11,13,17,19,23...质数与质数之间看似毫无关系,但仔细观察还是能找出一些规律的。下图中列出了100以内的质数。根据算术基本定理,所有合数都能够写成质数乘积的形式,因此100以内的合数必然是2,3,5或7中的至少一个数的倍数,这是因为若非如此,则这个合数必然是大于7的质数之积,则超出了100这一范围。这也就是说,在100以内的数中,合数必为2或3或5或7的倍数。除此之外的数则为质数(习惯上规定1既不是质数也不是合数)。因为2的倍数以2、4、6、8、0结尾,5的倍数以5、0结尾,所以大于10的质数必然不第2列、第4列、第5列、第6列、第8列和第10列。其余列中在除掉3的倍数和7的倍数,剩余的则为质数。关于如何快速判断出倍数关系的问题会在以后讨论。发布于 2020-06-19 09:03数学数论​赞同 10​​4 条评论​分享​喜欢​收藏​申请

质数是什么? - 知乎

质数是什么? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册算法数论素数质数是什么?关注者20被浏览31,291关注问题​写回答​邀请回答​好问题​添加评论​分享​8 个回答默认排序小郑小白深度学习​ 关注质数(Prime number,又称素数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)。 大于1的自然数若不是素数,则称之为合数(也称为合成数)。算术基本定理确立了素数于数论里的核心地位:任何大于1的整数均可被表示成一串唯一素数之乘积。为了确保该定理的唯一性,1被定义为不是素数,因为在因式分解中可以有任意多个1(如3、1×3、1×1×3等都是3的有效约数分解)发布于 2020-04-07 15:38​赞同 3​​添加评论​分享​收藏​喜欢收起​绝顶我为峰前OIer。​ 关注就是说一个质因数只含有1和它本身的数(1不是质数)或者说只有两个因数的数发布于 2019-07-29 09:42​赞同 2​​添加评论​分享​收藏​喜欢

[数学科普] 质数的通项公式 - 知乎

[数学科普] 质数的通项公式 - 知乎切换模式写文章登录/注册[数学科普] 质数的通项公式DeePhy​​中国科学技术大学 信息与通信工程博士搬运自 Simple Formula Makes Prime Numbers Easy, but a Million-Dollar Mystery Remains | Scientific American,侵删。关于质数的重要数学问题,除了黎曼猜想还有很多。例如,哥德巴赫猜想证明任何大于2的偶数都可以表示为两个质数的和(如4 = 2 + 2,6 = 3 + 3,8 = 3 + 5等)。令人惊讶的是,关于质数的许多谜题仍然存在,毕竟已经存在多个计算质数的公式。克里斯托弗·威尔恩斯(Willans)提出了一种“质数生成器”的公式,用于计算第n个质数。这个函数,记作p(n),对于任何n的值,都会给出第n个质数。例如,当n = 5时,这个公式返回p(5) = 11,因为11是第五个质数。这个公式应该能够解决关于质数的所有谜题,对吗?并非完全如此。威尔恩斯公式的思想是首先找到一个能够检测质数的函数,我们称之为f(x)。如果检测器有效,该函数在每次检测到一个质数时会给出1。否则,该函数会给出0,表示未检测到任何质数。[了解更多关于质数的研究]一旦你有了这个质数检测函数f(x),你就可以将其转化为质数生成器p(n)。根据检测器构建生成器假设你已经找到了质数检测函数f(x)。借助它的帮助,你可以推断出给定区间内的质数数量。例如,如果你将 f(1) + f(2) + f(3) + ... + f(10) 的值相加,结果将是0到10之间所有质数的数量,即4个(该区间内的质数是2、3、5和7)。你可以更详细地观察关于 f 的每个加和项:f(1) = 0,\\ f(1) + f(2) = 1,\\ f(1) + f(2) + f(3) = 2,\\ f(1) + f(2) + f(3) + f(4) = 2,\\ f(1) + f(2) + f(3) + f(4) + f(5) = 3,\\ f(1) + f(2) + f(3) + f(4) + f(5) + f(6) = 3,\\ f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 4... 这个原理可以推广。第n个质数是使得 f(1) + f(2) + ... + f(x) = n 的最小的自然数 x 。这意味着,如果你能用一个函数表达这个过程,并且这个函数可以给出所求的值x,那么你就创建了一个质数生成器。首先,引入另一个辅助函数 g(x) ,对应于和 f(1) + ... + f(x) 。因此:g(1) = f(1) = 0,\\ g(2) = f(1) + f(2) = 1,\\ g(3) = f(1) + f(2) + f(3) = 2,\\ g(4) = f(1) + f(2) + f(3) + f(4) = 2,\\ g(5) = f(1) + f(2) + f(3) + f(4) + f(5) = 3,\\ g(6) = f(1) + f(2) + f(3) + f(4) + f(5) + f(6) = 3,\\ g(7) = f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 4 ... 因此,回到寻找第四个(或更一般的第n个)质数的问题,你需要计算有多少个x的值满足 g(x) 小于4(或n)。通过这种方式,你将得到你要寻找的第四个(或第n个)质数的值。事实上,有一个函数正好可以实现这个目标。虽然它看起来很复杂:\sum_{i=1}^{2^n}\left\lfloor\left(\frac{n}{g(i)+1}\right)^{\frac{1}{n}}\right\rfloor+1\\方括号⌊*⌋表示将内部的值向下取整。所以,例如,⌊ 1.7 ⌋ = 1,⌊ 1.12111167545 ⌋ = 1。在这种情况下,方括号内的项似乎更复杂一些。为了更好地理解它,请看一下这个对应的图形,它绘制了该项的图像,假设i=4,而n是变量:你现在可以看到的是,无论 n 多大或多小,方括号内的项都取值在 0 到 1 或 1 到 2 之间。因此,带有方括号的表达式返回 0 或 1。事实上,只要 g ( i ) 小于 n,结果始终为 1。另一方面,一旦 g ( i ) 等于 n 或超过 n,则结果将为 0。外部总和仅用于累加贡献。因此,如果您评估 n = 4 的公式以获取第四个质数,则会得到以下结果:\sum_{i=1}^{16}\left\lfloor\left(\frac{4}{g(i)+1}\right)^{\frac{1}{4}}\right\rfloor+1=1+1+1+1+1+1+0+\ldots+0+1=7\\这不仅适用于 n = 4,而且适用于任何 n。通过使用这个公式,你总是可以得到第 n 个质数。但到目前为止,我们讨论的前提是假设存在一个质数检测器 f(x) ,幸运的是这个表达式也是显示存在的,f(x)=\left\lfloor\cos ^2\left(\pi \frac{(x-1) !+1}{x}\right)\right\rfloor\\因为平方余弦只返回0和1之间的值,这保证了 f(x) 只能是0或1,这正是我们在检测器函数中所需的。但是对于哪些x值,f(x)=0,对于哪些值函数等于1,这需要考虑余弦函数的参数: π x [(x-1)!+1]⁄x ,其中感叹号表示阶乘,它将所有自然数乘以阶乘前的数字。选择x不同的值并计算 π x [(x-1)!+1]⁄x ,则会得到以下结果:注意到规律了吗?如果x是一个质数,那么结果是π的整数倍;否则就不是。对于所有的x都成立。这个定理在历史上已经被证明了多次。虽然它以数学家约翰·威尔逊的名字命名,他在18世纪提出了这个猜想,而Joseph-Louis Lagrange于1771年就已经证明。但他远非第一个证明它的人。事实上,阿拉伯学者Abu Ali al-Hasan ibn al-Haytham在1000年左右就提出了相应的猜想。百万美元大奖仍未被领取威尔逊定理可以用来构建一个检测器:整数倍的π的余弦总是产生1或-1,而余弦函数的所有其他参数则产生小于1的结果。这完成了质数探测器。通过对平方余弦函数取整(通过方括号),f(x)在x为质数时返回所需的值1,否则返回0。通过将迄今为止获得的所有信息汇总,可以给出一个实用的计算质数的公式:p_n=1+\sum_{j=1}^{2^n}\left\lfloor\left(\frac{n}{\sum_{j=1}^i\left\lfloor\cos ^2\left(\pi \frac{(j-1) !+1}{j}\right)\right\rfloor}\right)^{\frac{1}{n}}\right\rfloor\\请随意尝试一下。如果你想计算第五个质数,你只需要将n = 5代入公式,你就会得到正确的结果11。事实上,这个方程是在1964年由某个名叫C. P. Willans的人发表的。关于Willans的身份细节至今仍然未知。他没有撰写其他技术文章。但我们可以假设Willans并没有因为这个公式而成为百万富翁。那时千禧年奖还不存在,而且他的公式也无法回答与质数相关的任何重要数学问题。如果你尝试使用这个公式,你可能已经注意到了主要问题。这些计算非常复杂。即使是计算机也很难计算这个公式,尤其是对于较大的n值。除了其他问题,阶乘也是问题的一部分:值很快变得非常大,计算需要大量的计算能力。如果你想计算巨大的质数,你将会超负荷使用全球每台超级计算机。发布于 2023-11-26 20:23・IP 属地广东数学解析素数​赞同 8​​添加评论​分享​喜欢​收藏​申请

什么是质数,如何简单辨别,有哪些实际运用_自然数

什么是质数,如何简单辨别,有哪些实际运用_自然数

新闻

体育

汽车

房产

旅游

教育

时尚

科技

财经

娱乐

更多

母婴

健康

历史

军事

美食

文化

星座

专题

游戏

搞笑

动漫

宠物

无障碍

关怀版

什么是质数,如何简单辨别,有哪些实际运用

2021-03-10 17:46

来源:

成长新视点

原标题:什么是质数,如何简单辨别,有哪些实际运用

什么是质数,如何简单辨别,有哪些实际运用

文/成长新视点

质数,又叫素数,是指一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数。换句话说,就是该数除了1和它本身以外,不再有其他的因数。

质数,有无限个。在自然数中,比1大,但不是质数的数,称为合数。1和0,既非质数也非合数。

一、基本定理。

在初等数学中有一个基本定理,任意一个大于1的自然数,要么本身就是质数,要么可以分解为几个质数之积,这种分解本身,具有唯一性。

所以,现在多将质数用于密码学上,而其解密的过程,实际上就是一个寻找质数的过程。

二、基本特点。

最小的质数是2, 也是唯一的偶质数。 后面的质数,依次为2,3,5,7,11,13,17......

展开全文

质数有许多独特的性质,如质数n的约数只会有两个,那就是1和n。质数的个数,是无限的。所有大于10的质数中,个位数都只有1,3,7,9。所以,要区分质数或者认识质数是非常容易的,掌握基本规律即可。

三、判断技巧。

判断一个数是否为质数,要先看它是奇数还是偶数。如果是大于2的偶数,这个数肯定不是质数,而是合数。如果是奇数,那就有可能是质数,可以用试除法来判断一个自然数是不是质数。

如判断179是不是质数,可以按从小到大的顺序用2、3、5、7、11……等质数去试除。一般情况下,用20以内的2、3、5、7、11、13、17、19这8个质数去除即可。对179试除过程如下:179÷2=59……2;179÷3=66……1;179÷5=35……4;179÷7=25……4;179÷11=16……3;179÷13=13……10;179÷17=10……9。

当179÷17所得到的不完全商10比除数17小时,就不需要继续再试除,而断定179是质数。这是因为2、3、5、7、11、13、17都不是179的质因数,因此,179不会再有比17大的质因数,或者说179不可能被小于10的数整除,所以,179必是质数无疑。

四、质数运用。

1.被利用在密码学上,所谓的公钥,就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找质数的过程),将会因为找分解质因数过久,而失去时效性。

2.在汽车变速箱齿轮的设计上,把相邻的两个大小齿轮的齿数设计成质数,以增加两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。

3.以质数形式无规律变化的导弹和鱼雷可以使敌人不易拦截。

4.多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。返回搜狐,查看更多

责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。

阅读 ()

推荐阅读