美文网首页工作生活
算法-求1到100以内所有的质数

算法-求1到100以内所有的质数

作者: 0981b16f19c7 | 来源:发表于2019-07-03 15:48 被阅读0次

1、首先必须了解质数的定义,除了1和本身没有其他因数。
2、考察要点:嵌套循环。
3、代码实现
1)for循环

for i in range(2,101):
    flag=0
    for j in range(2,i-1):
        if i%j == 0:
            flag=1
            break
    if flag==0:
        num.append(i)
print(num)

2)while循环

i = 2
num = []
while i <= 100:
    j = 2
    flag = 0
    while j < i:
        if i % j == 0:
            flag = 1
            break
        j += 1
    if flag==0:
        num.append(i)
    i += 1
print(num)

3)filter函数

t = list(filter(lambda x:not [x%i for i in range(2,x) if x%i==0], range(2,101)))
print(t)

关于:filter()函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用list()来转换。filter(function, iterable) --function -- 判断函数。iterable -- 可迭代对象。

def is_odd(n):
    return n %2 ==1
tmplist =filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist =list(tmplist)
print(newlist)# [1, 3, 5, 7, 9]

相关文章

网友评论

    本文标题:算法-求1到100以内所有的质数

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