题解 | #序列和#
序列和
https://www.nowcoder.com/practice/46eb436eb6564a62b9f972160e1699c9
#include <iostream>
using namespace std;
int main() {
int N,L;
cin >> N >> L;
bool is_find = false;
for(int i=L;i<=100;i++)
{
// 这里使用连续数字序列的性质判断
if((N - i*(i-1)/2)%i != 0) continue;
int begin = (N - i*(i-1)/2)/i;
// 因为题目要求 begin需要大于等于0
if(begin < 0) continue;
for(int j = begin;j<begin + i;j++)
{
cout << j << " ";
}
cout << endl;
is_find = true;
break;
}
if(!is_find) cout << "No" << endl;
}
// 64 位输出请用 printf("%lld")
