【问题标题】:Sum of multiples of two numbers两个数的倍数之和
【发布时间】:2015-10-13 19:46:46
【问题描述】:

我正在尝试使用 python 找出两个数字的倍数之和。我已经做到了。我只想使用 lambda 函数来解决它。 没有 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)

【问题讨论】:

  • 请向我们展示您的代码
  • “倍数之和”是什么意思?
  • 请尝试自己解决这个问题。如果您已经尝试过但忽略了包含您的代码,请edit您的问题并包含它。如果您还没有尝试过,请自己试一试,如果您需要进一步的帮助,请联系我们。

标签: python lambda


【解决方案1】:

试试这个代码:

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)

【讨论】:

    【解决方案2】:
    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      相关资源
      最近更新 更多