📅  最后修改于: 2023-12-03 15:36:39.148000             🧑  作者: Mango
对于一个正整数n和另一个正整数m,我们可以用多种方法求出大于或等于m的数字对n求和。以下是一些常用的方法:
这是最常见的方法。我们可以使用一个循环从m开始遍历到n,只有当当前数字大于等于m时,才将其和累加到总和中。
def sum_greater_than_or_equal_to_m(n, m):
total = 0
for i in range(m, n + 1):
if i >= m:
total += i
return total
如果你喜欢数学,你可能会喜欢这个方法。我们可以利用等差数列求和公式来解决问题。由于我们只需要求出大于或等于m的数字对n求和,我们可以先求出小于m的数字对n求和,然后将其从总和中减去。
def sum_greater_than_or_equal_to_m(n, m):
total = sum(range(1, n+1))
if m > 1:
total -= sum(range(1, m))
return total
递归也可以用来求和。我们可以将n和m传递给递归函数,如果n等于m,则直接返回n,否则递归调用函数来计算大于等于m+1的数字对n的求和,然后再将m加到总和中。
def sum_greater_than_or_equal_to_m(n, m):
if n == m:
return n
return n + sum_greater_than_or_equal_to_m(n-1, m)
以上是三种常用的方法,您也可以根据自己的需求来开发新的方法。