质数素数是什么意思?详细的解释

一、发文目的本文主要阐述素数的概念 , 以通俗易懂的方式形象的描述素数和合数究竟代表什么意思 , 以及找到一种方法能够求得给定的数值范围内的素数 。二、文章大纲1 , 素数的概念2 , 素数的形象的理解3 , 什么是合数4 , 为什么1不是素数5 , 如何求给定范围内的素数6 , 一个Python求素数的例子素数又称质数 , 英文名称是Prime number 。三、文章内容1 , 素数的概念关于素数 , 也叫质数 , 从字面意思可以想象 , 这种数有着基本 , 本质 , 原子的意思 , 也就是说 , 这种数是不能够再拆分的 , 是一个基本的 , 独立的原子个体 。素数的定义是指在除了1和此整数本身外,不能被其他自然数整除的数(1除外) 。2 , 素数的形象的理解可以想象 , 有一堆苹果 , n个 。假设苹果是不可切割的 , 现在需要你去给这堆苹果等份分给若干人 。有两种可能的结果 , 一种是可以再分成若干等份;一种是不能够再分了 , 苹果保存原样的一堆 。针对第二种情况(保持原样 , 不能再分) , 这堆苹果可以看成下面两种情形:A , 以单个苹果为一个个体 , 可以分成n个人 , 1(个)*n(人)B , 以n个苹果为一个整体 , 可以分给1个人 , n(个)*1(人);回到数的范畴 , 也就是说 , 如果一个整数n , 只能被1或者自己整除 , 也就是说整数n只能表示为n=1*n , 或者n=n*1的形式 , 即不能分成其他形式的等份了 , 那么这个数就叫做素数 。形象的理解为:一堆苹果 , 还是原来的那堆苹果 , 没有改变 。3 , 什么是合数接着上面素数的概念 , 相反的情况 , 如果一堆苹果可以再分成n=a*b的形式(a,b不等于1或者n) , 那么就称n为合数 。合数这个词 , 本身也代表了本身是可以由几个数合在一起的意思 。也以苹果为例 , 假设这堆苹果是15个 , 除了本身15这种状态之外 , 也可以分成3个一堆 , 共5堆(3*5)或者5个一堆 , 共3堆(5*3)这两种状态 。即15不单单只能表示为15*1或者1*15 , 还可以表示成3*5或者5*3 。也就是说 , 15除了被1和自己整除外 , 还可以被3或者5整除 。4 , 为什么1不是素数其实 , 如果从本质的概念来说 , 1也可以称为素数 , 这个从上面的例子就可以看出 。之所以现在不能将1看成素数 , 原因在于 , 如果将1看成素数了 , 那么会使得合数的概念不统一 。合数 , 从上面第3点的分析 , 可以知道 , 合数n可以表示为n=a*b的形式(这里的a,b不等于1或者n) 。既然n=a*b , 那么a,b有两种状态 , 要么是素数 , 要么是合数 。why?因为 , 数本身就只有这两种状态:要么只能被1或者本身整除 , 要么除此之外还能被其他数整除 。因此 , a,b这两个数可能是素数 , 可能是合数 。现在 , 我想对a,b做如下操作:如果是素数 , 则保持不变;如果是合数 , 那么继续分解为两个数的乘积的形式 。这样 , 一直持续操作下去 , n=a*b , 最终会以n=p1*p2*p3...的形式呈现(其中 , p1,p2,p3...都是素数) 。即一个合数 , 最终都会以素数的乘积表示 。现在回到本题的疑问 , 为什么1不是素数?因为:1由于本身的特殊性(任意个1相乘还是1) , 导致一个合数n=p1*p2*p3 , 会有无数个表示式 。即合数n , 可以表示为:n=p1*p2*p3n=p1*p2*p3*1n=p1*p2*p3*1*1n=p1*p2*p3*1*1*1......所以 , 为了达到合数的表达式的唯一性 , 就人为的将1排除在了素数之外 。5 , 如何求给定范围内的素数到这里 , 已经知道了素数和合数 。那么如果想要求某个给定的数范围内的素数有哪些 , 应该怎么求 。比如 , 如何求10以内的素数?根据常识 , 可以容易的想到10以内的素数有:2,3,5,7如果不是10 , 而是100以内的素数呢?难道是依次的去数 , 2,3,5,7,11,13,17,19...如果不是100 , 而是1000以内的素数呢?看来人为的靠自己的理解去数 , 会把自己数晕 , 不是解决问题的根本方法 。那么应该怎么去解决?我认为 , 还是得从素数的概念入手:只能被1和自己本身整除的数 。也就是说 , 除了1和本身 , 不能被其他数整除的数 。或者说 , 只要找到了一个能够被1和本身之外的数整除 , 那么就可以判定这个数就不是素数 。下面的目标 , 就是努力去找到这样的数 。先想一下不是素数的数是什么数?答案很明显 , 就是合数 。合数有什么性质?合数可以表示为若干个素数的乘积 。既然是要求n以内的素数 , 那么肯定n以内的素数一定是在n以内;n以内的合数也是在n以内 。n以内的合数可以表示为若干个素数的乘积 , 这里的素数也肯定是在n以内 。那么可以确定的知道n以内的某个合数必会至少能够被n以内的一个素数整除 。如果能够找到这样的能够被n以内的合数整除的最大的素数K , 那么就可以得到这样一组素数集(从2开始 , 最大值是K) , 将n以内的整数 , 依次与这组素数中的素数进行求余运算 , 根据求余结果是否是0 , 来判断整数是否是合数 。即求余的结果不是0的整数就是素数了 。下面的问题是:已知整数范围n , 如何求得能够被n以内的合数整除的最大的素数?还是从合数的概念出发 , 一个合数必然可以表示为若干个素数的乘积 。至于合数分解成的素数的个数多少 , 这个就不确定了 , 可能是2个 , 也可能是3个 , 或者更多 。下面先给出一个结论:假设一个合数M可以分解为3个素数的乘积 , M=X1*X2*X3(X1<=X2<=X3) , 那么对M进行开3次方根 , 得到的结果取整数为I , I必然介于M的素数的中间 , 即I>=X1且I<=X3 。以整数I内的素数构成一个素数集合G , 那么G中必然存在素数X1;合数M越大 , 那么得到的I就越大 , 因而构成的素数集合G中的最大的素数也越大 。设想 , 要使得找到最大的素数 , 那么必然要找到最大的I 。在合数M最大的情况下 , 开方根次数越小 , 则此时找到的I才是最大的 。那么开方次数最小是多少呢?显然就是开2次方根时(虽然开1次方根时 , I最大 , 但此时的M就不是合数 , 而是素数了) 。那么 , 现在知道了 , 如何求一个给定的整数范围内的素数方法了:


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: