2015-10-13 146 views
-6

我想用python找出兩個數字的倍數之和。我已經完成了。我只是想用lambda函數來解決它。 沒有拉姆達代碼兩個數字的倍數總和

def sumMultiples(num, limit): 

    sum = 0 
    for i in xrange(num, limit, num): 
     sum += i 
    return sum 

def sum(limit): 
    return (sumMultiples(3, limit) + 
      sumMultiples(5, limit) - 
      sumMultiples(15, limit)) 

print sum(1000) 
+3

請告訴我們您的代碼 – ForceBru

+2

什麼是 「倍數的總和」 是什麼意思? – Barmar

+1

請自己嘗試解決這個問題。如果您已經嘗試過但忽略了您的代碼,請[編輯](http://stackoverflow.com/posts/33111338/edit)您的問題並加入。如果你還沒有做出嘗試,請自己試試,如果你需要進一步的幫助,請來找我們。 – That1Guy

回答

0

試試這個代碼:

a = input("enter first number\n") 
b= input("enter second number\n") 
limit=[] 
limit.append(a) 
limit.append(b) 
natNo=range(1,1000) 
xyz = [] 
for i in limit: 
    xyz +=filter(lambda x: x == i or x % i==0, natNo) 
set = {} 
map(set.__setitem__, xyz, []) 
nums=set.keys() 
print "the multiples of the given numbers are: "+str(nums) 
c=reduce(lambda x, y:x+y, nums) 
print "the sum of the multiples of the given numbers is "+str(c) 
0
limit = 1000 
a=lambda num, limit: sum([i for i in xrange(num, limit, num)]) 
print a(3,limit)+a(5,limit)-a(15,limit)