imtoken下载官网|既不是质数也不是合数的数是

作者: imtoken下载官网
2024-03-08 18:27:04

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

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

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

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

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

如果2和1一样特殊,既不是合数也不是质数,对数学上的一些结论会产生什么影响? - 知乎

如果2和1一样特殊,既不是合数也不是质数,对数学上的一些结论会产生什么影响? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册数学数论高等数学如果2和1一样特殊,既不是合数也不是质数,对数学上的一些结论会产生什么影响?关注者6被浏览1,167关注问题​写回答​邀请回答​好问题​添加评论​分享​6 个回答默认排序何冬州杨巅杨艳华典生​软件试用与测试​ 关注质数集={2}∪奇质数集。何冬州认为,可以约定0和1都不是质数也不是合数,把他们归类为幂循环数。参见:请通俗易懂地讲讲什么是素数(质数)?对于特定的正整数n,能拆成不同的n组两个素数之和的偶数有是否只有有限多个?为什么1不算素数?「素数」和「合数」算反义词吗?编辑于 2023-04-17 21:59​赞同​​2 条评论​分享​收藏​喜欢收起​梧灵一切元数学问题最终都归于审美问题​ 关注会导致所有数学命题都是真的。因为2是质数是一条定理。如果2不是质数也是真的,那么就是说数论是不一致的(不一致是指存在一个命题和其否定二者皆真)。然后在一个不一致的系统里证明任意命题都真是逻辑学的传统表演项目,网上应该很好找,而且自证不难,手机打字我就不写了。我猜上面那些并不是题主想要的回答。题主可能想要的是一些推论的改变。这对于常人的思维来说非常自然。生活中我们也会说,“我要是能够有马云那么多钱那就xxx”。可是我们这个时候都忽略了这是不符合逻辑的:我们并没有挣那么多钱,也没有人给我们这笔钱,那么“我和马爸爸一样富”就是不满足因果律的。在数学中也是一样。我们不能假设一条定理不真,除非我们打算接受上面那种回答(或者使用弗协调逻辑,但是我不太懂那玩意)。那我们可以做什么呢?我们可以自由修改公理的真值,因为公理的真可以说是整个系统的第一因,本身不是被导出的。所以你可以直接按喜好,或者更加常见地,根据需要指定它们。当然,我们也可以尝试通过修改公理来实现改变某个命题的真值并且保留系统的一致性。但是由于这类修改的方式非常多样,对于其它命题的影响也各不相同,所以也没法用来谈论一个定理不真对于其它定理的影响。总而言之,公理的真值可以按照需要指定,但是定理的真值不应该随便假设。大概就是这样。发布于 2020-01-26 23:00​赞同​​添加评论​分享​收藏​喜欢

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

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

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

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

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

数论 - 质数与合数 - 知乎

数论 - 质数与合数 - 知乎首发于Tiger爱数学切换模式写文章登录/注册数论 - 质数与合数Tiger​数学爱好者,微信公众号“老虎科学探秘”在自然数中有一类数非常特殊,它们叫质数又叫素数。质数指那些大于1的,且除了1和它自身之外再没有其它约数的自然数。合数是指除了1和它自身之外还有其它约数的自然数。自然数1既不是质数也不是合数。100以内的质数有25个,{2、3、5、7、11......},2是质数中唯一的偶数。质数在自然数的世界中承担着重要的角色,就像元素对于化学或者粒子对于物理一样,从一定的的意义上讲,自然数是由素数构成的。为什么这么讲呢?我们看一下算数基本定理:大于1的自然数n都可以分解成有限个质数的乘积n=p1^a1 x p2^2 x ...x pn^an; p1、p2、......、pn都是质数,a1、a2、......、an都是大于0的自然数。这就是分解质因数,算数基本定理告诉我们两件事:对于任一大于1的自然数,一定可以分解成以上的形式对于任一大于1的自然数,这个分解形式具有唯一性(不计质数的排列次序)质数是不是有限个?当然不是,我们看看欧几里得是怎么证明的:假设质数个数是有限的,有n个,把所有的质数有小到大排列p1、p2、......、pn存在N=p1 x p2 x......x pn +1, N一定大于pn如果N是质数,说明存在一个大于pn的质数N;如果N是合数,那么N一定可以被某个质数整除,但所有的n个质数p1、p2、......、pn都不能整除N,因为它们除N都余1,一定在n个质数之外还有质数,所以假设不成立,质数有无限多个。来个题玩玩:证明存在自然数n,使得n+1、n+2、......、n+2019都是合数。其实只需使得n=2020!+1,那么2020!+2、2020!+3、......、2020!+2020都是合数。这个证明很容易,但结论却很有趣,换句话说,你总可以找到任意多个连续的自然数,它们中都不会出现质数。再来一个:从1~100,任意取一些不同的数相乘使得它们的乘积是平方数,有多少种取法?关\注\公\众\号“老虎科学探秘”后台回复191128,我们来对对答案吧!编辑于 2020-05-06 17:15初等数论小学奥数初中数学​赞同 24​​3 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录Tiger

什么是质数与合数? - 知乎

什么是质数与合数? - 知乎切换模式写文章登录/注册什么是质数与合数?易考360管理类联考易考360管理类联考考研辅导什么是质数?什么是合数?1是质数吗?2是合数吗?联考中经常考哪些数?这些看似基础却又经常搞错的数学知识点,常令考生在考试中失分,今天就带大家捋一捋!质数:只有1和它本身两个因数(约数),那么这样的数叫做质数。比如7,只有1和7两个约数。合数:除了能被1和它本身整除,还能被其他的正整数整除,那么这样的数叫做合数。比如8,有1、2、4和8四个约数。所以说,因数个数为2,则是质数;因数个数大于2,则是合数。那“1”因数只有1个,是质数还是合数呢?答案是,既不是质数也不是合数,因为它只有本身一个因数,不符合质数和合数两个定义。在联考中会考啥?怎么考呢?1、30以内的质数:2、3、5、7、11、13、17、19、23、29。2、2是唯一一个偶数质数,且常作为考点!其他质数均是奇数!例:如果两个质数的和或差是奇数,那么其中必有一个数是2! 如果三个质数之和为偶数,那么其中必有一个数是2!同学们能绕过来吗?接下来让我们看一道例题,联考是怎么考的呢?例:设m、n是小于20的质数,满足条件|m-n|=2的{m,n}共有( )。A.2组 B.3组 C.4组 D.5组 E.8组答案解析:C。枚举思维(20以内的质数:2、3、5、7、11、13、17、19),显然,有3,5;5,7;11,13;17,19。共4组,这里要弄清楚3,5和5,3是一样的,集合数数列的区别,有序与无序!若问的是m,n取值有集中情况,则为8种。怎么样,同学们都清楚了吗?编辑于 2022-04-08 11:01数学​赞同 5​​添加评论​分享​喜欢​收藏​申请

数论(一)质数 - 知乎

数论(一)质数 - 知乎切换模式写文章登录/注册数论(一)质数小螺蛎数量这一概念应该是人类能够最原始而直接地从生活中感受到的数学内容之一了。想一想我们最早接触到的数学应该就是认识数字了吧。在对自然数的研究中有一个很重要的概念,就是质数以及与其相对应的合数,这一回我们就来聊一聊质数。质因数分解在研究一个正整数时,最直接的一种方法就是将其分解(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 条评论​分享​喜欢​收藏​申请

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

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

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

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

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

判断一个数是否为素数的最快方法? - 知乎

判断一个数是否为素数的最快方法? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册趣味数学素数代数数论判断一个数是否为素数的最快方法?关注者8被浏览15,968关注问题​写回答​邀请回答​好问题​添加评论​分享​3 个回答默认排序摸鱼王胖嘟嘟大二摸鱼Java学习者​ 关注很多人会说:啊?素数还不好判断吗?这个小菜是不是小学没毕业呀?哈哈哈,各位大佬先别急,这里指的并不是普通的判断一个数是不是素数,而是计算机中判断一个数是否为素数。相信有点编程基础的大佬们会说:这不有手就行,我写个循环,一直判断能不能整除,能就是素数,不能就不是素数,不就行了吗?的确,这种方法是可以解决问题的,但是有没有虽然解决了问题,但是浪费了好多时间呢?除此之外,还有其他方法吗?如果没有思考到就接着看下面的内容吧!什么是素数?质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。第一种:暴力筛选法思路如果要判断n是否为素数,可以直接写一个循环(i从2到n-1),进行判断n%i == 0,判断n能不能被i整除,如果能就不是素数,否则即是素数。Java版本代码实现public static boolean isPrime(int n) {

for (int i = 2; i < n; i++) { // 如果n被i整除,则返回false

if (n % i == 0) {

return false;

}

}

return true; // 反之则返回true

}时间复杂度:O(n)看了上面代码,会思考:我能不能再把这个代码优化一下,降低它的复杂度呢?当然可以啦!Java版本代码实现public static boolean isPrime(int n) {

for (int i = 2; i <= Math.sqrt(n); i++) { // 如果n被i整除,则返回false

if (n % i == 0) {

return false;

}

}

return true; // 反之则返回true

}时间复杂度:O(sqrt(n))为什么会要这样优化呢?我们思考素数的概念,是因子为1和其本身,如果n不是素数,则还有其他因子,其中的因子,假如为a,b,其中必有一个大于sqrt(n),一个小于sqrt(n)。所以必有一个小于或等于其平方根的因数,那么验证素数时就只需要验证到其平方根就可以了。即一个合数一定含有小于它平方根的质因子。那么这就足够了吗?当然还有其他的方法啦~第二种:素数表筛选法素数表筛选法见名知意:将素数存到一个表中,然后对需要判断的数在表中查找,找了就是素数,找不到的即不是素数。思路如果一个数不能整除比它小的任何素数,那么这个数就是素数。对了这种方法也是效率很低的方法哦~Java版本代码实现 /**

* @param target 要查询的数字

* @param count 素数表种素数的个数

* @param primeArray 素数表数组

* @return

*/

public static boolean isPrime(int target, int count, int[] primeArray) {

for (int i = 0; i < count; i++) {

if (target % primeArray[i] == 0) {

return false;

}

}

return true;

}时间复杂度:O(n)第三种:朴素筛法从2开始删除“每一个数”的倍数Java版本代码实现 //count是质数的个数,st判断数是否是倍数,primes存储质数

public static int N = 1000010, count = 0;

public static int[] primes = new int[N];

public static boolean[] st = new boolean[N];

public static void isPrime(int n) {

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

if (!st[i]) {

primes[count++] = i;

}

for (int j = i + i; j <= n; j += i) st[j] = true; //注意起始为i+i,也就是2*i, 当然写i其实也不影响

}

}时间复杂度:O(nlnn)第四种:埃拉托斯特尼(Eratosthenes)筛法埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。思路从2开始删除所有"质数"的倍数举个例子:(N=11)1、列出2以后的所有序列:2 3 4 5 6 7 8 9 10 112、标出序列中的第一个素数,也就是2,序列不变3、将剩下的序列中,划掉2的倍数,序列变成:2 3 5 7 9 114、如果这个序列中最大数小于最后一个标出的素数的平方,那么剩下的序列中所有的数都是素数,否则回到第二步。5、本例中,因为11大于2的平方,我们返回第二步:6、剩下的序列中第一个素数是3,将主序列中3的倍数划掉,主序列变成:2 3 5 7 117、我们得到的素数有:2,38、11仍然大于3的平方,所以我们还要返回第二步;9、序列中第一个素数是5,同样将序列中5的倍数划掉,主序列成:2 3 5 7 1110、我们得到的素数有:2,3,5 11、因为11小于5的平方,跳出循环。结论:2到11之间的素数是:2 3 5 7 11。Java版本代码实现 //count是质数的个数,st判断数是否是倍数,primes存储质数

public static int N = 1000010, count = 0;

public static int[] primes = new int[N];

public static boolean[] st = new boolean[N];

public static void isPrime(int n) {

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

if (!st[i]) {

primes[count++] = i;

for (int j = i + i; j <= n; j += i) st[j] = true;

}

}

}时间复杂度:o(nloglogn)学会了这个方法是不是就可以去给别的同学面前狠狠的露一手了?哈哈哈,还没完呢!第五种:线性筛选–欧拉筛法在埃拉托斯特尼(Eratosthenes)筛法的基础上,让每个合数只被它的最小质因子筛选一次,以达到不重复的目的。 //count是质数的个数,st判断数是否是倍数,primes存储质数

public static int N = 1000010, count = 0;

public static int[] primes = new int[N];

public static boolean[] st = new boolean[N];

public static void isPrime(int n) {

int cnt = 0; // 素数的个数

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

if (!st[i]) {

primes[cnt++] = i;

}

for (int j = 0; primes[j] <= n / i; j++) {//这里转换一下就是primes[j] * i <= n, 不用担心界限问题

st[primes[j] * i] = true;

//1)当i%primes[j] != 0时,说明此时遍历到的primes[j]不是i的质因子,那么只可能是此时的primes[j]

//2)当有i%primes[j] == 0时,说明i的最小质因子是primes[j],因此primes[j]*i的最小质因子也就应该是prime[j],之后接着用st[primes[j+1]*i]=true去筛合数时,

//就不是用最小质因子去更新了,因为i有最小质因子primes[j]

if (i % primes[j] == 0) break;

}

}

}时间复杂度:O(n)今天我们的学习就到这里了~~~在此声明:以上图片均源于网络!发布于 2022-10-31 20:46​赞同 6​​1 条评论​分享​收藏​喜欢收起​无理函数君给你一个不一样的启发,是我所追求的。​ 关注先用p=2,3,5判断一下,然后再用如下的拟素数去判断:p =2\lfloor \frac{i}{2} \rfloor +2i+5,\left( i=1,2,3,... \right) ;发布于 2023-02-06 15:08​赞同 2​​添加评论​分享​收藏​喜欢收起​​写回答1 个回答被折叠(为什