埃尔筛法(求素数序列)+求回数序列

用filter(f,L)函数,将函数f依次作用于L序列,返回的是一个Iterable。
结合这个知识点编写埃尔筛法(求素数序列)程序。

# -coding:utf-8-
n=int(input('请输入需要打印多少以内的素数?'))
#函数功能是:依次判断序列中的数能否被序列首位整除,若不能整除,则为真
def is_multi(x):
        if x%L[0]!=0:
            return 1
        else:
            return 0
L=list(range(2,n))
r=[2]
for i in range(n):
    L=list(filter(is_multi,L))
    if len(L):
        r.append(L[0])
    else:
        pass
print(r)

第二部分,利用filter()函数求取1000以内的回数序列。

# -coding:utf-8-
def is_palindrome(n):
    s=str(n)
    l=len(s)
    for i in range(l):
        if s[i]==s[l-i-1]:
            return 1
        else:
            return 0
#测试
output=filter(is_palindrome,range(1,1000))
print(list(output))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值