之前呢,我们讲过用C语言来判断素数,这次我们就用C语言来输出100以内的素数。
要输出100以内的素数,需要满足以下条件:
1、遍历100以内的自然数,归根结底的目的在于遍历100以内的所有素数,也就是2、3、5、7、11、13、17这些数。
2、其次呢需要对这些数进行一个素数判断,也就是上次用到的计数法来进行素数判断,除以除了1和它本身以外的其它自然数,若能整除取余为0,则计数加1,反之,则赋值计数为0。
3、最后再进行一个条件判断,对计数的值进行一个条件判断,满足一定的条件输出结果,若不满足,则不输出结果。
#include<stdio.h>
int main(){
int count = 0;
for(int i = 2; i <= 100; i++){//2是最小的素数
for(int j = 2; j < i; j++){
if(i%j==0){
count++;
break;
}
else{
count = 0;
}
}
if(count == 0){
printf("%d is a primen", i);
}
else{
printf("%d is not a primen", i);
}
}
}
注意点:
之所以这里i是从2开始遍历,正如我代码中的注释所写,因为2是最小的素数,而我们的目的恰好是输出素数,所以不需要从1开始,而且1既不是素数也不是合数,这里是很需要注意的一个点的。
测试:
总结:
总的来说,在掌握判断素数的方法之后,要输出100以内的素数其实就变得非常简单,这里还能有许多变化,比方说这个100可以是不确定的,可以是我们自己输入一个正整数N,那么就只要加上一个scanf即可。