题目链接:
解题思路:
m 个不同的正整数之和最小为 :
1+2+3+..........+m,
即为:((1+m)* m ) / 2
只要 n 大于等于 上述的求和公式,
那么便一定可以保证 n 被分解成 m 个正整数之和
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int n = 0,m = 0;
cin >> n >> m;
if(n >= (1+m)*m/2)
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
return 0;
}