c语言关于用for循环求素数

Python0163

c语言关于用for循环求素数,第1张

要在第二个for里面加括号也是这样子加:

main()

{

int i,j

for(i=2i<100i++ )

{

for (j=2j<=(i/2)j++)

{

if (i%j==0)

break //如果能被整除,则退出这个for循环

}

//下面这个判断意思是,如果前面那个for循环结束后,i不能被j整除,则应该是前面的for循环退出原因是j>(i/2),即没有找到能被整除的数,所以认为是素数

if (i%j!=0) 

printf("%d\t",i)

}

printf("\n")

}

如下图所示:

for循环是编程语言中一种循环语句,而循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式条件表达式末尾循环体){中间循环体;}。

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。

质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。

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

在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。

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

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

思路:所谓素数是指只能被1和自身整除的数叫作素数,判断素数就可以从2到该数减一依次判断能否整除该数,如果能则不是素数,否则就是素数。

参考代码:

#include<stdio.h>

int isp(int n)//判断是否是素数,是返回1,否则返回0

{

int i

for(i=2i<ni++)

if(n%i==0) return 0

return 1

}

int main()

{

int a

scanf("%d",&a)

if(isp(a))

printf("%d是素数\n",a)

else

printf("%d不是素数\n",a)

return 0

}

/*

输出: 

89

89是素数

*/