hal大阪 hal东京:用c语言的筛选法怎样得到100之内的素数啊?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 07:01:16

#include <stdio.h>
void main()
{
int judge(int);
int i;
for(i=1;i<=100;i++)
if(judge(i)==1)
printf("%d ",i);
printf("\n");
}
int judge(int x)
{
int n;
n=2;
if(x==1||x==2) return (1);
else
{
while(x%n!=0)
n++;
if(n==x) return(1);
else return(0);
}
}

/*用筛选法求100之内的素数*/
#include<math.h>
#define N 101
main(){
int i,j,line,a[N];

for(i=1;i<N;i++) a[i]=i; /*初始化数组*/

for(i=2;i<sqrt(N);i++){
for(j=i+1;j<N;j++){
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;
}
}
printf("\n");

for(i=2,line=0;i<N;i++){
if(a[i]!=0){
printf("%5d",a[i]);
line++;
}
if(line==10){
printf("\n");
line=0;
}
}
printf("\n");
}