import math def isPrime(n): if n <= 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True ## end of http://code.activestate.com/recipes/577079/ }}} //不使用sqrt的方法: def isPrime(n): if n <= 1: return False i = 2 while i*i <= n: if n % i == 0: return False i += 1 return True //itertools模块中的方法 view source print? from itertools import count def isPrime(n): if n <= 1: return False for i in count(2): if i * i > n: return True if n % i == 0: return False //高效方法: def isPrime(n): if n <= 1: return False if n == 2: return True if n % 2 == 0: return False i = 3 while i * i <= n: if n % i == 0: return False i += 2 return True 转载请保留固定链接: https://linuxeye.com/program/1707.html |