C语言中如何求质数

Python08

C语言中如何求质数,第1张

#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>

#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

}