【C语言初阶】素数的求法之程序的优化

【C语言初阶】素数的求法之程序的优化

【问题描述】:假设求100到200之间的素数,并将程序不断优化。

   *素数:只能被1和它自身整除的数称为素数,也叫质数。

【程序设计】:

【C语言初阶】素数的求法之程序的优化

【程序优化】:

   优化一:100到200之间偶数一定不是素数
【C语言初阶】素数的求法之程序的优化
优化二:对于任意一个素数n,如果它有两个质因子x,y,显然n = x*y, 所以,由不等式性质可得,x <= sqrt(n), 即 x <= n^(1/2)。
【C语言初阶】素数的求法之程序的优化
优化三:两个质因子x,y,既然x <= sqrt(n),那么一定x <= n/2。显然比优化二复杂,这里就不在赘述。

【运行结果】:

【C语言初阶】素数的求法之程序的优化