质数相关的算法 --Sieve of Eratosthenes算法 (埃拉托斯特尼)
质数的定义
- 只能被自身与1整除的整数为质数,特殊的,0与1不是质数。
相关的算法(问题为求小于整数n的所有质数的数量)
暴力求解
-
思路:双层循环,外层 循环变量 i 从2遍历到n-1, 内层循环变量 j从2遍历到i, 判断j是能整除i,如果存在j能整除i,则说明i不是质数。
-
实现代码:
int countPrimes(int n) {
int count = 0;
for (int i = 2; i < n; i++)
if (isPrim(i)) count++