1.素数的定义
素数又称为质数,指的是在大于1的整数中 只能被1和这个数本身整除的数。
在了解了素数的定义之后,我们如何用C语言实现在屏幕上打印出100到200的素数呢?
这里我们就可以使用试除法,试除法的思路就是:我们给定一个数N范围在一百到两百之间,然后使用N除以2到N-1,如果都不能除尽则N为素数。
2.for套嵌使用求解素数
下面我们就用for循环来实现逻辑
在这里插入代码片
#include <stdio.h>
int main()
{
int i = 0;
int coust = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
int flag = 1;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
flag = 0;
}
}
if (flag == 1)
{
printf("%d\n", i);
coust++;
}
}
printf("coust=%d", coust);
return 0;
}
上面flag的使用,将情况转化的十分巧妙,适合仔细品味。
3.试除法的算法优化
上图代码的逻辑我们很容易想到,但是再仔细想一想是不是还有可以优化的地方吗?
比如会被2整除的偶数就一定不是素数,所以说素数一定是奇数,所以我们就可以将第一个for的i++改为i+=2这就减少了循环的次数,减小了内存,加快了运行速度。
虽说以上的修改并没有 神之一手的优化,不过这是重要的思想 我们在写代码时一定要思考如何优化自己写的代码。