题目思路
- 由题干可知输出为等差数列,且公差d=1,Sn=N,项数>L;
- 则由求和公式转换可知a1(a1为正整数)的值,在根据遍历所得项数即可输出;
a1=(2Sn-n*(n-1))/2n
#include <iostream> using namespace std; int main(){ int n,l; cin>>n>>l; for(int i = l;i<=100;i++){ if((2*n+i-i*i)%(2*i)==0){ int temp = (2*n+i-i*i)/(2*i); for(int j = 0;j<i;j++){ cout<<temp++<<" "; } return 0; } } cout<<"No"<<endl; return 0; }