如何查找X是否可以表示为Y个不同的正整数的总和?

时间:2018-10-28 12:38:08

标签: c++11 combinatorics mathematical-expressions

例如,如果

X = 10,Y = 3

2,3,5和1,4,6可能

但是对于Y = 10 这是不可能的,因为我们知道我们不能将10表示为10个不同的正整数之和。 有没有更具体的方法来获得结果?

1 个答案:

答案 0 :(得分:1)

可以这样表示任何大于或等于X的{​​{1}}。确实,

S = 1 + 2 + ... + Y = Y*(Y+1)/2

任何X = 1 + 2 + ... + (Y-1) + (Y + X - S) 小于X的人显然都不可以。