问题

判断一个数是否为素数

思路说明

这个问题有多种解法,以下的解法来自网络整理。供参考使用。

解决(Python)

  1. #! /usr/bin/env python
  2. #coding:utf-8
  3. """
  4. """
  5. #方法一
  6. import math
  7. def isPrime1(n):
  8. if n <=1:
  9. returnFalse
  10. for i in range(2,int(math.sqrt(n))+1):
  11. if n % i ==0:
  12. returnFalse
  13. returnTrue
  14. #方法二
  15. def isPrime2(n):
  16. if n <=1:
  17. returnFalse
  18. i =2
  19. while i*i <= n:
  20. if n % i ==0:
  21. returnFalse
  22. i +=1
  23. returnTrue
  24. #方法三
  25. from itertools import count
  26. def isPrime3(n):
  27. if n <=1:
  28. returnFalse
  29. for i in count(2):
  30. if i * i > n:
  31. returnTrue
  32. if n % i ==0:
  33. returnFals
  34. #方法四
  35. def isPrime4(n):
  36. if n <=1:
  37. returnFalse
  38. if n ==2:
  39. returnTrue
  40. if n %2==0:
  41. returnFalse
  42. i =3
  43. while i * i <= n:
  44. if n % i ==0:
  45. returnFalse
  46. i +=2
  47. returnTrue
  48. if __name__=="__main__":
  49. a=isPrime4(5)
  50. print a