📅  最后修改于: 2023-12-03 15:21:54.709000             🧑  作者: Mango
这是一个经典的算法问题,根据输入的数N,计算出从1到N的所有数字之和,找出可以被3或4整除的数字之和。
我们可以通过循环来计算1到N的数字之和,并使用一个累加器来保存可以被3或4整除的数字之和。具体的算法流程如下:
sum
,用于保存能被3或4整除的数字之和,初始值为0;total
上;total
能被3或4整除,则将其加到sum
上;sum
。下面是使用Python语言实现的代码:
def sum_divisible_by_three_or_four(N):
"""
计算1到N的数字之和,可以被3或4整除的数字之和。
"""
total = 0
sum = 0
for i in range(1, N+1):
total += i
if total % 3 == 0 or total % 4 == 0:
sum += total
return sum
我们对上述代码进行测试,输入不同的值N,看输出结果是否正确。
| 输入N | 输出结果 | | ---- | ------- | | 10 | 21 | | 20 | 98 | | 30 | 306 |
测试结果表明,我们的算法可以正确地计算出1到N的数字之和,以及其中可以被3或4整除的数字之和。