题解 | #C++解决序列和#

序列和

http://www.nowcoder.com/practice/46eb436eb6564a62b9f972160e1699c9

题目思路

  • 由题干可知输出为等差数列,且公差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;
}
全部评论
temp得大于等于0
3 回复 分享
发布于 2022-03-09 19:59
temp后面加判断,<0时continue
点赞 回复 分享
发布于 2022-09-23 10:43 湖北

相关推荐

03-24 17:57
门头沟学院 Java
yakuso:你这头像哈哈哈
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务