编写一个程序求自然数中前N个素数.

来源:百度知道 编辑:UC知道 时间:2024/05/13 18:05:29
#include<stdio.h>

main()
{
int m ,n;
scanf("%d",&m);
ss(m,n);
编写一个程序求自然数中前N个素数,要求素数在被调用函数中求得,N值定义成主函数内的常数,打印在主函数中进行.
printf("%d",n);
}

int ss(int p,int i)
{
int t,j;
for(i=3;i<=p;i++)
{
t=1;
for(j=2;j<=(i/2);j++)
if(i%j==0)
t=0;
if(t==1)
return i;
}

}

输出自然数前N个素数,可以从2开始判断是否是素数,是就输出,然后继续判断3,知道输出N个位置,完成程序如下:

int ss(int x){
int i;
for(i=2;i<x;i++)
if (x%i==0) return 0;
return 1;
}

int ss_list(int n){
int i=2;
while(n){
if (ss(i)){printf("%d\t",i);n--;}
i++;
}
}

main(){
int n;
scanf("%d",&n);
ss_list(n);
}

以上程序在TURBOC调试通过,保证正确运行,其它C环境一般没有问题,运行一次的界面如下:
3
2 3 5

10
2 3 5 7 11 13 17 19 23 29