用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

}

#include<stdio.h>

int isprime(int n)

{ for(int i=2i*i<=ni++)

  if(n%i==0)return 0

return n>1

}

int main()

{ int i,n

scanf("%d",&n)

for(i=2i<ni++)

  if(isprime(i))

    printf("%5d",i)

return 0

}

#include<stdio.h>

int main()

{ int i,j,n,m

scanf("%d",&n)

for(m=0nn/=10)m=m*10+n%10

if(m>1)printf("2 ")

for(i=3i<=mi+=2)

  { for(j=3j*j<=ij+=2)

      if(i%j==0)j=i

    if(j*j>i)printf("%d ",i)

  }

return 0

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存