Python测试解答

作者: bill666500 | 来源:发表于2017-05-22 22:12 被阅读41次

第一题:求100以内的素数

素数,所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除。

逻辑思路
主要是除了1和本身之外不能被其他整数整除,这个就可以通过循环遍历来进行操作。题目本身是100以内的,所以相对来说对于性能不需要考虑。方法isPrime里面需要根据多种情况进行相应处理,例如小于1不是素数,i = 2是个临时变量, while循环i*i是否小于等于判断的数是否是素数,小于则拿当前判断的数除以循环遍历的数是否能够整除,如果能够整除则代表不是素数。继续循环变量加1进行判断,如果都不能被整除,说明此数是素数。

def isPrime(n):
    if n < 1:
        return False
    i = 2
    while i*i <= n:
        if n % i == 0:
            return False
        i = i + 1
    return True

for num in range(1,101):
    if isPrime(num):
        print(num)

相关文章

网友评论

    本文标题:Python测试解答

    本文链接:https://www.haomeiwen.com/subject/ttiixxtx.html