题解 | #序列和#
序列和
http://www.nowcoder.com/practice/46eb436eb6564a62b9f972160e1699c9
//本题为序列和问题,输出为等差数列
//Sn=n*(a1+an)/2=n*a1+n*(n-1)*d/2
//a1=(2*Sn-n*(n-1))/(2*n)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n=0;
int l=0;
scanf("%d",&n);
scanf("%d",&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);
if(temp<0){
cout<<"No"<<endl;
return 0;
}
for(int j=0;j<i;j++){
cout<<temp++<<" ";
}
return 0;
}
}
cout<<"No"<<endl;
}