工作生活

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

2019-07-03  本文已影响0人  0981b16f19c7

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]
上一篇 下一篇

猜你喜欢

热点阅读