输出100~200之间的素数。
程序员文章站
2024-03-15 12:23:59
...
//输出100~200之间的素数 (对于素数n:只能被1和本身整除,不能被2~n-1之间的数整除的数)
//分析:运用模运算 n%i==0 来判断整数n是否能被i整除,来判断n是否为素数。
#include <stdio.h>
#include<stdlib.h>
int main()
{
int i = 0; //定义一个变量i,让其充当100~200间的任意一个数,并给它赋初值为0;
int count = 0; //定义一个整型变量count,用来统计100~200之间素数的个数;
for (i = 100; i <= 200; i++) // 运用for循环,改变i的初值0,为其赋值为100,并规定其范围,最后再自加处理;
{
int j = 0;
for (j = 2; j <= i; j++) //嵌套for循环,用定义的变量j来作为i的约数,且此处的j必须从2开始,若从1开始,
{ //则程序会在第一次循环后,跳出循环;
if (i%j == 0) //用if语句 判断整数i能否被j整除后取余为零,若成立,则i不是素数,并跳出循环。
{
break;
}
}
if (i == j) //因为对于素数来说,除一之外,另一个约数就是他本身,所以当i和j相等时,则i是素数。
{
count++; //count自加,来累计100~200之间素数的个数
printf("%d ", i);
}
}
printf("\ncount=%d", count);
system("pause");
return 0;
}
这是我进击道路上的第一个程序(代码如上),因此我将注释部分写得较为详细。第一点,本程序中,最为关键的部分是:如何判断某个数是否为素数并将其输出,该段代码中根据素数本身的性质,结合for循环和if语句,并且在嵌套第二个for循环式中,一定要注意约数j是从2开始,否则会导致整个程序运行不出理想的结果。第二点,要使程序运行窗口不一闪而逝,需在主函数前加上头文件#include<stdlib.h>以及在输出语句后加上system(“pause”);最后一点,在本次比编写过程中我犯的一个比较低级的错误,就是常常忘记在语句后加";"(系统提醒了我很多次…)。总体来说,初次进击体验还算不错!
上一篇: 用Java之素数问题
下一篇: Numpy 求100以内质数和