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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql查看版本sql_linux查看mysql版本

    mysql查看版本sql_linux查看mysql版本查询mysql版本(select查mysql版本)2020-07-2411:32:47共10个回答1、通过mysql的-V参数查询版本信息mysql-V2、登录mysql时可以查询版本信息mysql-u用户名-p用户密码3、数据库状态查询版本信息status;4、通过mysql数据库函数查询版本信息selectversion();5、通过version环境变量查询版本信息执行selectvers…

    2022年10月7日
    4
  • 【C++】volatile关键字的作用「建议收藏」

    【C++】volatile关键字的作用「建议收藏」volatile的作用volatile关键字是防止在共享的空间发生读取的错误。只保证其可见性,不保证原子性;使用volatile指每次从内存中读取数据,而不是从编译器优化后的缓存中读取数据,简单来讲就是防止编译器优化。在单任务环境中,如果在两次读取变量之间不改变变量的值,编译器就会发生优化,会将RAM中的值赋值到寄存器中;由于访问寄存器的效率要高于RAM,所以在需要读取变量时,直接寄存器中…

    2022年5月31日
    35
  • win10关闭端口占用[通俗易懂]

    win10关闭端口占用[通俗易懂]查看win10所有占用端口公式:查看所有:netstat-ano查看对应端口:netstat-ano|findstr"9004"关闭端口:任务管理器中的详细信息对应的PID就是占用的端口关闭即可命令行关闭端口:taskkill-PID进程号-F进程号为19216…

    2022年7月20日
    19
  • BCNF范式、第四范式和第五范式「建议收藏」

    原文地址:https://blog.csdn.net/g_beginner/article/details/67893081. 定义当下面性质成立时,一个数据库模式中的表T及函数依赖集F被称为符合Boyce-Codd范式(BCNF):任何F可推导出的函数依赖X-&gt;A都在T中,这里A是不在X中的单一属性,X必须是T的一个超键。当一个数据库模式包含的所有表都符合BCNF时,这个数据库被称…

    2022年4月9日
    146
  • 诺基亚6300手机游戏下载_重玩JAVA手机游戏

    诺基亚6300手机游戏下载_重玩JAVA手机游戏随着安卓苹果手机的普及、手机的性能不断提高,手机游戏也从黑白俄罗斯方块进化为了各种华丽大作,有的甚至已经超越了多年前的电脑游戏。然而令人惋惜的是,大多数游戏只是画面进步了,玩法却在退步,这一点,从塞班、JAVA、MTK山寨机时代走过来的玩家肯定深有体会。想想看,在那个手机网络不发达,一个月10M流量用不完的年代,手机游戏厂商自然是以开发单机游戏为重心,即便是手机网游,比如口袋精灵,天劫OL,契约等…

    2022年7月8日
    26
  • js书写原生ajax,JS 原生ajax写法

    js书写原生ajax,JS 原生ajax写法//step1.创建XMLHTTPRequest对象,对于低版本的IE,需要换一个ActiveXObject对象varxhr;if(window.XMLHttpRequest){xhr=newXMLHttpRequest();}else{xhr=newActiveXObject(‘Microsoft.XMLHTTP’);}//>>step2.使用open方法设置和…

    2022年9月1日
    7

发表回复

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

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