美文网首页Python爬虫作业
求100以内素数的和

求100以内素数的和

作者: Wanguy | 来源:发表于2017-05-22 23:42 被阅读0次

整体思路是通过素数的定义:在大于1的整数中只能被1和它本身整除的数。

那我们便可以用一个循环,遍历其中每个数,假设有数a,让他们都与另一个循环中的每个数(最大到a-1)相除,这时,如果余数都不等于0,那么这个数便是我们要的素数了。

有了这么一个思路,就可以设计我们要的算法了。

使用普通循环遍历

l = []
for i in range(2, 101):              #定义需要循环的范围
    for j in range(2, i):       
        if i % j == 0:
            break               #如果余数等于0,则说明不是素数,跳出整个循环
    else:
        l.append(i)             #把得到的素数放在list中
print(l)
print(sum(l))

这里用到 for else 循环,除非循环非正常退出,否则执行else

使用filter,lambda

import math
def getPrime():
    return list(filter(lambda x: not [x % i for i in range(2, int(math.sqrt(x)) + 1) if x % i == 0], range(2, 101)))

#filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回


print(getPrime())
print(sum(getPrime()))

这里如果返回filter需要用list()。

https://docs.python.org/3/library/functions.html#filter

Construct an iterator from those elements of iterable for which function returns true.

使用函数

def num(n):
    for i in range(2, n):
        if n % i == 0:
            break
    else:
        return n


results = map(num, range(2, 101))
l=[i for i in results if i]
print(l)
print(sum(l))

相关文章

  • 100以内素数之和

    描述 求100以内所有素数之和并输出。 素数指从大于1,且仅能被1和自己整除的整数。 提示:可以逐一判断100以内...

  • 求100以内素数的和

    整体思路是通过素数的定义:在大于1的整数中只能被1和它本身整除的数。 那我们便可以用一个循环,遍历其中每个数,假设...

  • python作业一:素数问题

    求100以内的素数。 解题思路:素数,只能被1和他本身整除的数。那么,我们就用100以内的每个数(1除外)去除以比...

  • python 求100以内的素数

    题目一 :求100以内的素数(素数为只能被1和它本身整除的整数) 解题思路: 求出100以内除了1的所有整数(1不...

  • 算法题

    1.求出1-100累加的和 2.求出1-100中奇数相加的和 3.求1000以内的斐波那契数 4.求1000以内的素数

  • java 编程

    找出三个数中的最大数和最小数 求1 + 2 + ... + 100的值 求100以内的素数 计算输出1!,2!.....

  • python 爬虫二期作业 | 第一次作业

    求1-100以内的素数 思路:直接求素数的思路当时没想好 ,就直接排除法将不是素数的从列表中删除 爬取糗事百科页面...

  • java求100以内的素数

    方法一 packageairthmatic; publicclassdemo8 { /** * 素数是指因数只有1...

  • Python测试解答

    第一题:求100以内的素数 素数,所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它...

  • Python 课程作业 0522 第一题

    第一题:求100以内的素数 素数,所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它...

网友评论

    本文标题:求100以内素数的和

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