用C语言编写求质数的程序

用C语言编写求质数的程序,第1张

//我分别写镇散出了求素数和判断素数的程序

/*

//判断一个数是否为素数

#include<stdio.h>

#include<math.h>

int isprime(int)

void main()

{

int inumber

printf("请输入一个非负整数: ")

scanf("%d",&inumber)

if(isprime(inumber))

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

else

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

}

int isprime(int a)

{

int i

for(i=2i<=sqrt(a)i++)

if(a%i==0)

return 0

return 1

}

*/

/*****************************************************/

//求某个正整数以内的素数

#include"stdio.h"

#include"math.h"

int main(void)

{

int count,i,m,n,num

printf("请输入所求范围(正整数): ")

scanf("%d",&num)

count=0//count记录素数的个数

printf("%d以内的素数为:\n",num)

for(m=2m<=numm++)

{

n=sqrt(m)

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

{

if(m%i==0)

break

}

if(i>n)//如果隐桐m是素数

{

printf("%6d",m)

count++

if(count%10==0)//count为灶旅坦10的倍数时换行

printf("\n")

}

}

printf("\n")

return 0

}

算法如下:

第一步,给定大于2的整数n.

第二步,令i=2.

第三步,用i除n,得到余数r.

第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.

第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三铅凳步.

分析:对于任意的整闷并数n(n>2),若用i表示2—(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复 *** 作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,蚂激迹再执行同样的 *** 作.

这个 *** 作一直要进行到i的值等于(n-1)为止.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12312586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存