HD251HJ_HB5082

HD251HJ_HB5082原题链接描述Givenasequence1,2,3,……N,yourjobistocalculateallthepossiblesub-sequencesthatthesumofthesub-sequenceisM.输入Inputcontainsmultipletestcases.eachcasecontainstwoint…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

原题链接

描述

Given a sequence 1,2,3,……N, your job is to calculate all the possible sub-sequences that the sum of the sub-sequence is M.

输入

Input contains multiple test cases. each case contains two integers N, M( 1 <= N, M <= 1000000000).input ends with N = M = 0.

输出

For each test case, print all the possible sub-sequence that its sum is M.The format is show in the sample below.print a blank line after each test case.

样例输入

20 10
50 30
0 0

样例输出

[1,4]
[10,10]

[4,8]
[6,9]
[9,11]
[30,30]

思路

等差数列求和的变形。
\(S=\frac{(k+k+n-1)*n}{2}\)
\(2k=\frac{2s}{n}-n+1, n≤\sqrt{S}\)
枚举n然后算出k就好

代码

#include <bits/stdc++.h>
#define ll long long
using namespace std;

int main()
{
    ll n, m;
    while(~scanf("%lld %lld", &n, &m))
    {
        if(n + m == 0) break;
        ll k, t;
        for(t = sqrt(2 * m); t > 0; t--)
        {
            if(2 * m % t) continue;
            ll r = 2 * m / t - t + 1;
            if(r % 2) continue;
            k = r >> 1;
            printf("[%lld,%lld]\n", k, k + t - 1);
        }
        printf("\n");
    }
    return 0;
}

转载于:https://www.cnblogs.com/HackHarry/p/8371005.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186755.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php7.2调用curl_init()报错解决方案「建议收藏」

    php7.2调用curl_init()报错解决方案「建议收藏」使用PHP7.2运行代码的时候出现提示curl_init()调用失败:未定义的问题,即Calltoundefinedfunctioncurl_init()解决方法:1.在linux终端键入apt-cachesearchcurl|grepphpubuntu@VM-16-9-ubuntu:/etc/php/7.2/apache2$apt-cachesearc…

    2022年7月13日
    15
  • 微服务分布式事务解决方案_微服务追踪与监控

    微服务分布式事务解决方案_微服务追踪与监控目录Sleuth简介相关术语使用Sleuth引入依赖创建服务product-serviceorder-service启动&测试Zipkin使用Zipkin参考文章Sleuth简介Sleuth是SpringCloud的组件之一,它为SpringCloud实现了一种分布式追踪解决方案,兼容Zipkin,HTrace和其他基于日志的追踪…

    2025年7月7日
    2
  • ebpf技术_EBM技术

    ebpf技术_EBM技术1.ebpf概述1.1ebpf发展历史BPF,及伯克利包过滤器BerkeleyPacketFilter,最初构想提出于1992年,其目的是为了提供一种过滤包的方法,并且要避免从内核空间到用户空间的无用的数据包复制行为。它最初是由从用户空间注入到内核的一个简单的字节码构成,它在那个位置利用一个校验器进行检查——以避免内核崩溃或者安全问题——并附着到一个套接字上,接着在每个接…

    2022年9月21日
    2
  • list-style

    list-style

    2021年9月20日
    57
  • 平均数,中位数,众数 三者的联系与区别是_中数一定是数吗

    平均数,中位数,众数 三者的联系与区别是_中数一定是数吗原文链接:http://www.360doc.com/content/18/0717/09/57858800_771067787.shtml个人理解,说简单点:一组数据中如果有特别大的数或特别小的数时,一般用中位数一组数据比较多(20个以上),范围比较集中,一般用众数其余情况一般还是平均数比较精确一、联系与区别:  1、平均数是通过计算得到的,因此它会因每一个数据的变化而变…

    2022年9月17日
    4
  • 群晖 VMM虚拟机安装windows XP[通俗易懂]

    群晖 VMM虚拟机安装windows XP[通俗易懂]群晖VMM虚拟机安装windowsXP。作为微软历史上最成功的操作系统之一,推出的10余年来,其应用十分广泛,拥有庞大的用户群体。

    2022年8月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号