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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java基础算法详解

    Java基础算法详解查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这些排序可能会…

  • max31865模块RTD测温注意事项

    max31865模块RTD测温注意事项max31865模块RTD测温注意事项注意事项1参考电阻注意事项2接线注意事项3电气连接注意事项4max31865模块重要细节注意事项5SPI时序间隔参考代码注意事项1参考电阻ThePT100versionofthebreakoutuses430ΩThePT1000versionuses4300Ω一般PT100选400欧姆参考电阻,但是板子上给的是4300,也就是430Ω。程序里需要设置参考电阻为430,PT1000选择4300Ω。#defineREF_RES

  • 向量三重积的几何意义_向量三重积

    向量三重积的几何意义_向量三重积定义同一个线性空间可定义不同的内积。选择复线性空间上的内积实内积空间性质向量长度向量长度性质Cauchy-Schwartz不等式Cauchy-Schwartz不等式推论度量矩阵只要告诉一组基下任意两个向量的内积,就会形成一个度量矩阵。那么随便拿一个向量,都知道它的坐标,这两个向量的内积就是右边的xTGyx^TGyxTGy。如果GGG为单位矩阵,那么<a,b><a,b><a,b>内积就等于他们坐标的内积。G为单位矩阵

  • ps如何去水印不留痕迹_水印原理

    ps如何去水印不留痕迹_水印原理概述图像叠加与音频叠加(混音)不同,人耳可以同时听到两种声音,因此混音时需要将两种信号都保留;但视频不同,图像一旦叠加,那么叠加区域人眼就只能看到最上层的图像。本文仅阐述对原始图像数据做修改的叠加方式,不涉及多个plane实现显示级别的图像叠加的知识。因此本文所述的图像叠加基本原理就是:顶层图像的像素直接替换掉底层图像的像素,从而新的图像会显示出叠加效果。NV12格式阐述代码/**a…

  • socket通信简单介绍

    socket通信简单介绍

  • 打印列表从尾部到头部

    打印列表从尾部到头部

发表回复

您的电子邮箱地址不会被公开。

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