首页 > 解决方案 > 如何确定 X 是否可以表示为任何 Y 不同正整数的总和?

问题描述

例如,如果

X= 10 , Y= 3

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

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

标签: c++11combinatoricsmathematical-expressions

解决方案


任何X大于或等于S = 1 + 2 + ... + Y = Y*(Y+1)/2都可以这样表示。的确,

X = 1 + 2 + ... + (Y-1) + (Y + X - S)

任何X小于S显然不能。


推荐阅读