ProjectEuler_2

i=2
_sum=0
a={0:1,1:2}                 #you cannot give value to a index that not exist in List

while True:
    a[i]=a[i-1]+a[i-2]
    if a[i]>4000000:         #break condition
            break
    if (i%3==1):         #only this item is even-valued 
        _sum+=a[i]
    i+=1
    
print _sum+2


这代码龊的一比啊,这是在写C语言吧,靠。弄了两个pythonic的代码来学习下。

s = 0
a, b = 1, 1
while a < 4000000:
    a, b = b, a+b
    if a%2 == 0:
        s += a
print s


 

a = [1,2]
i = 2
while a[-1] < 4000000:
    a.append(a[i-2] + a[i-1])
    i += 1
print sum(filter(lambda x: x%2 == 0, a))


这两段都是阿三哥写的,转自PE的论坛,hk97hkapur97。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值