给出数字生成方式的函数,该数字可以作为正3个正数的和?

时间:2018-10-15 09:58:05

标签: python algorithm math

我想做的事情:找到3个不能为零的数字,它们必须加起来等于给定的数字。 输出应该只给出完成方法的数量。

主要是我要弄清楚的算法,因此如何求和。 (以及为什么有效)。

非常感谢,如果这个问题的格式不正确,我深表歉意。

在Python中,这就是我现在要拥有的(感谢T Burgis)

def ThreeNumbers(x):     
    NumberOfSolutions = 0  
    for i in (1, x-1)
        for j in range(1,x-i):
            k = x - i - j
        print(i,j,k)
        num_solutions += 1
return num_solutions

1 个答案:

答案 0 :(得分:1)

这可以写得更好,但会告诉您逻辑。不要使用sum作为变量名-它是python的内置函数。

def three_nums(x):
    num_solutions = 0
    for i in range(1,x-1):
        for j in range(1,x-i):
            k = x - i - j
            print(i,j,k)
            num_solutions += 1
    return num_solutions