python/nested.md at master · f034d21a/python · GitHub
Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 964 Bytes

File metadata and controls

51 lines (38 loc) · 964 Bytes
# 求素数原始版本
import math


def is_prime(number):
    if number > 1:
        if number == 2:
            return True
            
        if number % 2 == 0:
            return False
            
        for current in range(3, int(math.sqrt(number) + 1), 2):
            if number % current == 0:
                return False
            return True
            
    return False
# 求素数优化版本
import math


def is_prime(number):
    if number <= 1:
        return False

    if number == 2:
        return True

    if number % 2 == 0:
        return False

    for current in range(3, int(math.sqrt(number) + 1), 2):
        return number % current == 0
# 更直观的版本,直接根据素数定义来写的,时间复杂度并不好
def get_primes(n):
    for n in range(2, n):
        for x in range(2, n):
            if n % x == 0:
                break
        else:
            yield n