您的位置:首页 > 编程语言 > C语言/C++

C语言质数判断

2012-12-14 10:10 183 查看
#include<stdio.h>
#include <math.h>
void main()
{  int zhi(int);
int j=0,b[20]={1,3,7,9},a[20]={2,3,5,7},c,l=4,d[20],n,g=0,h=0,i,N,s=10,z,f;
scanf("%d",&N);
for(i=1;i<=N-1;i++)
{
for(j=0;j<l;j++)
{
n=a[j]*s;
f=n;
for(h=0;h<4;h++)
{ n=n+b[h];
c=zhi(n);
if(c==1)
d[++g]=n;
n=f;
}
}
for(j=0;j<g;j++)
a[j]=d[j+1];
l=g,z=g,g=0;
}
if(N==1)
printf("2\n3\n5\n7\n");
else
for(j=1;j<=z;j++)
printf("%d\n",d[j]);
}

int zhi(int m)
{ int k,i,c=0;
k=(int)sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k) c=1;
return c;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: