#include <stdio.h>
#include <stdbool.h>
int main() {
//如果他是素数,那么他就是1
bool a[101];
for(int i = 0;i<101;i++){//先假设0-100的全是素数
a[i] = 1;
}
//因为0和1不是素数
a[0] = 0;
a[1] = 0;
for(int i = 2;i<101;i++){//因为2是素数,从2开始判断
if(a[i] == 1){
for(int j = i*2;j<101;j+=i){//将被2整除的数排除
a[j] = 0;
}
}
}
printf("100以内的素数有:\n");
for(int i = 0;i<101;i++){
if(a[i] == 1){
printf("%d\n",i);
}
}
return 0;
}
#include<stdio.h>
int main(){
int a[100];
for(int i=0;i<100;i++) //给数组赋值1,2,3...100
a[i]=i+1;
for(int i=2;i<=100/2;i++) //2~100/2为测试的因数,下面会将所有除自身外能被整除的数从新赋值为0(筛选挖走)
for(int j=1;j<=100;j++){
if(j%i==0&&a[j-1]!=0&&i!=j) //若j为素数则a[j-1]赋值为0
a[j-1]=0;
}
printf("1-100内素数有:") ;
for(int i=1;i<100;i++) //从a[1]开始,因为a[0]存的为1,1特殊,不为素数
if(a[i]!=0)
printf("%d ",a[i]);
return 0;
} #include<stdio.h>
int main(){
int arr[100];
for(int i=1;i<=100;i++){
arr[i]=i;
}
arr[1]=0;
for(int j=2;j<=10;j++){
for(x=j+1;x<=100;x++){
if(arr[j]!=0&&arr[x]!=0){
if(arr[x]%arr[x]==0)
arr[x]=0;
}}}
for(int y=1;y<=100;y++){
if(arr[y]!=0){
printf("%4d",arr[y]);
}
}
}