题目:
Count the number of prime numbers less than a non-negative number,n.
给定一个非负数n,求小于n的质数的个数。
思路:
定义一个变量,初始值为0,用来装载质数,再定义一个变量遍历所有数,因为第一个质数是2,因此,初始值设为2,用布尔值来判断是否是质数,若是质数则变量加1。但是显然结果是不对。
解决方案中,每遇到一个数,就判断它是否能被前面的某一个质数所整除,定义一个数组来存储质数,每次遇到质数时,将其小于n的倍数都设为非质数,避免每次遇到一个数都要用之前的所有质数去除一遍,降低了时间复杂度。