摘要
本文介绍了判断素数的3种方法,从素数的概念分析,确定找到素数的几个必要条件,设计思路,并将代码进行优化。此外,还使用自定义函数的形式将同样的思路进行实现。
方法1
素数是什么
素数,就是仅能被自身和1整除的数字。
条件分析
首先我们可以提取出判断素数的三个基本条件:
- 素数是整数
- 素数能被自身整除
- 素数能被1整除
设计思路
以一道题为例——
求100到200之间的所有素数并输出。
大体思路
- 遍历
- 首先,得到100到200间的所有数字(记为a)——for循环
- 当 A%B==0时说明A被B整除了
- 根据两个基本条件——a能被1整除,且a能被自身整除,所以除数(记为b)应为2到a-1间的所有数字——for循环
- 设置判断条件
- 当a%b==0时a不是素数
- 设置标记变量flag,当a%b==0时令flag=1;后续循环没必要进行,因此设置break;结束该循环。
- 特别注意flag何时初始化为0
具体代码实现
#include<stdio.h>
int main()
{
int a, b, flag;
for (a = 100; a <= 200; a++) //得到100到200间的所有数字
{
flag = 0; //先假设a为素数
for (b = 2; b < a; b++) //注意,不要忘了自身也能被整除!
{
if (a % b == 0)
{
flag = 1; //若出现不能整除的情况,则令flag为1
break;
}
} //标记变量——flag
if (0 == flag)
printf("%d ", a);
}