您的位置:

c语言中质数的判断,质数判断C语言

本文目录一览:

C语言判断一个数是否是质数

根据质数的定义,在判断一个数n是否是质数时,只要用1至n-1去除n,看看能否整除即可。

还有更好的办法:先找一个数m,使m的平方大于n,再用小于等于m的质数去除n(n为被除数),如果都不能整除,则n必然是质数。如我们要判断1993是不是质数,50*501993,那么只要用1993除以50的质数看是否能整除,若不能即为质数。100以内的质数有25个,还是比较好记的,只要记熟100以内质数,就可以快速判断10000以内的数是不是质数。

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,在100内共有25个质数。

只有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是合数。)

c语言怎么判断一个数是素数

判断是否是质数最直观和简单的方法就是从2开始直接除,能除尽(余数为0)就不是质数。则C语言实现为:

int isprime(int m)

{

int i;

for(i=2;im;i++)

if(m%i==0)

return 0;

else

return 1;

}

该算法的时间复杂度O(n)。

可以改进一下,根据如果一个数是合数,那么它的最小质因数肯定小于等于它的平方根。用反证法可以证明一下。假设x是n的最小质因数,则存在n/x=p。px,x*p=n。如果x不小于等于它的平方根,则x*xn,而px,故x*pn,假设不成立。合数是与质数相对应的自然数。一个大于1的自然数如果它不是合数,则它是质数。也就是说如果一个数能被它的最小质因数整除的话,那它肯定是合数,即不是质数。所以判断一个数是否是质数,只需判断它是否能被小于它开跟号后的所有数整除,因此,这样做的运算少了很多,降低了时间复杂度。

c语言判断质数

#includestdio.h

#include math.h

void main()

{ int zhi(int);

int j=0,b[20]={1,3,7,9},a[20]={2,3,5,7},c,l=4,d[20],n,g=0,h=0,i,N,s=10,z,f;

scanf("%d",N);

for(i=1;i=N-1;i++)

{

for(j=0;jl;j++)

{

n=a[j]*s;

f=n;

for(h=0;h4;h++)

{ n=n+b[h];

c=zhi(n);

if(c==1)

d[++g]=n;

n=f;

}

}

for(j=0;jg;j++)

a[j]=d[j+1];

l=g,z=g,g=0;

}

if(N==1)

printf("2\n3\n5\n7\n");

else

for(j=1;j=z;j++)

printf("%d\n",d[j]);

}

int zhi(int m)

{ int k,i,c=0;

k=(int)sqrt(m);

for(i=2;i=k;i++)

if(m%i==0)break;

if(ik) c=1;

return c;

}

C语言编程:判断某数是否是质数

#includestdio.h

int main(int argc,int argv[]){

int a,flag;

scanf("%d",a);/*输入一个数进行判断是否是质数*/

int isprime(int);/*这里是对将要调用的函数声明一下*/

flag=isprime(int);

if(flag==1) printf("%d is isprime",a);

printf("%d is not isprime",a):

return 1;/*这里的语句代表调用函数成功*/

}

int isprime(int a){ /*功能函数,判断是否是素数*/

int i;

for(i=2;i=a/2;i++)

if(a%i==0) return 0;/*只要有一次相除为0,马上就能判断不是素数*/

return 1;/*否则经过循环之后,都没有相除为0呢,就说明一定是素数了*/

}

看到这里是不是有点疑惑了呢?我到百度查了一下,质数也称素数,你注意看就好。。不懂再追问。。

不过我想你看完之后你应该能明的了,我已经写得好详细了啦。。。。

c语言判断一个数是否为质数

#includestdio.h

int main()

{

int i, n;

while (scanf("%d", n) != EOF)

{

for (i = 2; i n; i++)

if (n % i == 0)

break;

if (i = nn1)

printf("%d是质数\n", n);

else

printf("%d不是质数\n", n);

}

return 0;

}

c语言中质数的判断,质数判断C语言

2023-01-04
c语言判别质数,怎么用c语言判断质数

2023-01-08
判断100以内的质数c语言,c语言 100以内的质数

2023-01-08
c语言判断nn,C语言判断闰年

本文目录一览: 1、C语言怎样判断二维数组结束? 2、C语言里如何判断一个整形数据是几位数? 3、C语言编程:输入一个正整数n,判断它是否同时含有奇数字偶数字 4、c语言中一个判断结果如果符合输出0否

2023-12-08
素数c语言,判断素数c语言

2022-11-26
c语言整数互质,C语言判断两个整数是否互质

2023-01-07
筛选质数c语言,如何判断一个数是质数C语言

2022-11-28
c语言判断素数函数法,c语言用函数判断素数

2022-12-01
c语言判断素数防止超时,c语言判断超级素数

2022-11-26
用c语言怎么判断素数,c语言怎么判断素数函数

2022-11-26
c语言素数判断程序代码,判断素数C语言代码

2022-12-01
素数判断c语言程序函数,c语言程序素数的判断

2023-01-05
一道判断素数的c语言题,判断一个数为素数C语言

2022-11-23
c语言质数函数,C语言求质数的函数

2022-12-01
关于c语言找质数,用c语言求质数

2022-11-25
c语言判断语,C语言判断语句which

2022-11-26
素数判断c语言程序解析,c程序素数的判断

2022-11-26
c语言定义判断素数的函数,C语言编写一个判断素数的函数

2023-01-08
c语言完全数的判断,c语言判断完美数

2023-01-03
判断行数c语言,c++行数

2023-01-08