📜  使用大于或等于 m 的数字对 n 求和的不同方法(1)

📅  最后修改于: 2023-12-03 15:36:39.148000             🧑  作者: Mango

使用大于或等于m的数字对n求和的不同方法

对于一个正整数n和另一个正整数m,我们可以用多种方法求出大于或等于m的数字对n求和。以下是一些常用的方法:

1. 循环遍历法

这是最常见的方法。我们可以使用一个循环从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
2. 数学公式法

如果你喜欢数学,你可能会喜欢这个方法。我们可以利用等差数列求和公式来解决问题。由于我们只需要求出大于或等于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
3. 递归法

递归也可以用来求和。我们可以将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)

以上是三种常用的方法,您也可以根据自己的需求来开发新的方法。