统计所有小于非负整数 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函数,用于判断一个数字是否为质数。