题解 | #序列和#
序列和
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")