统计所有小于非负整数 n 的质数的数量¶
统计所有小于非负整数 n 的质数的数量。
示例:
输入: 10
输出: 4
解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。
代码如下:
import unittest
class Solution:
def countPrimes(self, n):
"""
:type n: int
:rtype: int
"""
count = 0
for i in range(n):
if(self.isPrimes(i)):
count += 1;
return count
def isPrimes(self, number):
if(number==1 or number==0):
return False
if(number==2):
return True
for i in range(2, number//2+1) :
if(number%i==0) :
return False
return True
class TestcountPrimesFunc(unittest.TestCase):
"""Test revert"""
def test_countPrimes(self):
"""Test method add(a, b)"""
s =Solution()
self.assertEqual(4, s.countPrimes(10))
self.assertEqual(8, s.countPrimes(20))
if __name__ == '__main__':
unittest.main()
这里封装了一个isPrimes函数,用于判断一个数字是否为质数。