题目思路
- 由题干可知输出为等差数列,且公差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;
} 
京公网安备 11010502036488号