C语言中如何求质数

Python014

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>

static char m[8000000]

static int prime[500000]

#define MAX_N 7368787

void set(void)

{

    int i,j

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

    {

        if(m[i] == 1) continue

        for(j=i+i j<=MAX_N j+=i)

            m[j]=1

    }

    for(i = j=0 i<=MAX_Ni++)

        if(m[i]==0) prime[j++]=i

}

int main()

{

    int m,n,

    while(~scanf("%d%d",&m,&n))

    {

        

        for(i=mi<=ni++)

        {

            printf("%d",prime[i-1])

            if(i==n || (i-m)%10==9) putchar('\n')

            else putchar(' ')

        }

    }

    return 0

}