牛客-序列和

序列和

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

解题思路:利用数学中的等差数列公式,我们假设元素个数为i,等差d为1,和为N。我们可以求出a1.这样我们就可以遍历L(长度在L-100的最小)。只要能够求得一个合法的a1就是找到答案了,就可以进行输出,否则就是找不到

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner scan=new Scanner(System.in);
        int N=scan.nextInt();
        int L=scan.nextInt();
        for(int i=L;i<=100;i++){
            if((2*N-(i-1)*i)%(2*i)==0&& (2*N-(i-1)*i)/(2*i)>=0){
                int a1=(2*N-(i-1)*i)/(2*i);
                for(int j=0;j<i-1;j++){
                    System.out.print(a1+j+" ");
                }
                System.out.print(a1+i-1);
                return;
            }
        }
        System.out.print("No");
    }
}
全部评论
这个解法真妙啊
点赞 回复 分享
发布于 2022-09-11 09:49 重庆

相关推荐

头像
2024-12-19 18:11
英特尔_Software_engineer
下水道鼠鼠鼠鼠:男的能去当技师吗 好进吗
点赞 评论 收藏
分享
02-15 09:23
已编辑
深圳技术大学 Java
德勤 后端 OC 实习140/天,转正税前7k
恶龙战士:不如码农烧烤
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务