怎样快速判断是质数还是合数?

2024-11-29 10:41:37
推荐回答(5个)
回答(1):

1.判断一个数是不是质数是看它的因数的个数来定的,如果只有1和它本身两个因数,这个数就是质数.
2.先要记住100以内的质数
3.给定你一个数要你来判断,先看哪个数的平方刚好超过它,再把比这个数小的质数去除,如果都不是它的因数的话,这个数就是质数
100以内的质数为:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
拓展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,
是素数或者不是素数。如果
为素数,则
要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。
如果
为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。
其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。
合数指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。与之相对的是质数,而1既不属于质数也不属于合数。最小的合数是4。其中,完全数与相亲数是以它为基础的。
只有1和它本身两个因数的自然数,叫质数(或称素数)。(如:由2÷1=2,2÷2=1,可知2的因数只有1和它本身2这两个因数,所以2就是质数。与之相对立的是合数:“除了1和它本身两个因数外,还有其它因数的数,叫合数。”如:4÷1=4,4÷2=2,4÷4=1,很显然,4的因数除了1和它本身4这两个因数以外,还有因数2,所以4是合数。)
100以内的质数有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97,一共有25个。
质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,N+1是素数或者不是素数。

回答(2):

只要看看这个数是不是3,5,2,的倍数如果是的话,这个数就是合数,举个例子:像29,这个数就不是2,3,5的倍数,那就是合数。。。

回答(3):

1.
判断一个数是不是质数是看它的因数的个数来定的,如果只有1和它本身两个因数,这个数就是质数.
2.
先要记住100以内的质数
3.
给定你一个数要你来判断,先看哪个数的平方刚好超过它,再把比这个数小的质数去除,如果都不是它的因数的话,这个数就是质数
100以内的质数为:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

回答(4):

#include"stdio.h"
#include"math.h"
 main()
{
   int i,k,m;
     scanf("%d",&i);  
   k=sqrt(i); 
  for(m=2;m<=k;m++)
      if(i%m==0)break;
       if(m>k)
      printf("%d是素数 ",i);
     else   printf("%d不是素数",i);
   getch();
   }

回答(5):

[例题]合数与质数的判断