问题描述
打印100到200之间的素数
素数——素数又称质数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数
思路分析
- 首先使用一个for循环,来产生100到200的整数
- 在每一次循环内部判断该数字是不是素数——根据素数的定义,要判断一个数字是不是素数,在数据不多的情况下,最简单的判断方式就是用2到n-1去整除该数字,这样的判断需要再产生一个2到n-1的循环
- 在内层循环中判断该数字能否被2到n-1整除,如果可以的话,直接break跳出循环
注意:该方法又称暴力穷举法。简单有效,但时间复杂度较高,不适宜数据量很大时的运算
代码实现
#include<stdio.h> int main() { for (int i = 100; i <= 200; i++) { int flag = 1;//标志变量,默认该数是素数 for (int j = 2; j < i; j++) { if (i % j == 0) { flag = 0; break; } } if (flag == 1) { printf("%d ", i); } } return 0; }
结果测试