hdu 2058 解题报告 - The sum problem

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2058

等差求和公式:

Sn=(a1+aN)*n/2
    =(a1+a1+d(n-1))*n/2
    =a1*n+d(n-1)*n/2;
因为此处公差d=1,所以Sn=a1*n+(n-1)*n/2,当从第一项开始算起时(因本题首项为1,即a1=1时),Sn=M时的项的个数n最多;
a1=1,现在又可化简为Sn=n+(n-1)*n/2=(n+1)n/2;
由题意得M=Sn,N为项的个数,则N<=n(max)=sqrt(Sn*2)=sqrt(M*2);
因此原式M=Sn =a1*n+(n-1)n/2=a1*N+(N-1)N/2,可得a1*N=M-(N-1)N/2;
数据都已经全了,现在只要遍历n(max)以内项数中,Sn=M的个数即可。
那么如何判断Sn=M呢?也就是判断a1*N=Sn-(N-1)N/2;得到的a1*N这个数能否被N整除,因为整除的话,说明首项存在于序列

#include<stdio.h>
#include<math.h>
int main(){int N,M;while(scanf("%d%d",&N,&M),N||M){int len = (int)sqrt(M*2.0);int a1_len=0;//首项a1与len的乘积for (;len>0;len--){a1_len=M-(len-1)*len/2;//a1*N=M-(N+1)N/2;if(a1_len%len==0){printf("[%d,%d]\n",a1_len/len,a1_len/len+len-1);}}puts("");}return 0;
}

hdu 2058 解题报告 - The sum problem相关推荐

  1. BestCoder3 1002 BestCoder Sequence(hdu 4908) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4908 题目意思:给出 一个从1~N 的排列你和指定这个排列中的一个中位数m,从这个排列中找出长度为奇数 ...

  2. BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5087 题目意思:找出第二个最长递增子序列,输出长度.就是说,假如序列为 1 1 2,第二长递增子序列是 ...

  3. Fibonacci Tree HDU - 4786——解题报告

    立志用更少的代码做更高效的表达 Coach Pang is interested in Fibonacci numbers while Uncle Yang wants him to do some ...

  4. BestCoder4 1002 Miaomiao's Geometry (hdu 4932) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4932 题目意思:给出 n 个点你,需要找出最长的线段来覆盖所有的点.这个最长线段需要满足两个条件:(1 ...

  5. BestCoder15 1002.Instruction(hdu 5083) 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5083 题目意思:如果给出 instruction 就需要输出对应的 16-bit binary cod ...

  6. HDU 1506 解题报告 Largest Rectangle in a Histogram (单调栈)

    看题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1506 题意比较明显,就是找以某一个矩形为高的最大的矩形.这个题可以用单调栈来求解,需要注意的是如果从 ...

  7. hdu 1754 解题报告 I Hate It

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  8. HDU 1870解题报告(愚人节的礼物)

    愚人节的礼物 Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class ...

  9. 程序设计算法竞赛基础——练习2解题报告

    程序设计算法竞赛基础--练习2解题报告 1001 sort Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数 ...

最新文章

  1. 爬虫之requests模块介绍
  2. LAMP(apache/httpd+mysql+php)环境/架构 一键安装脚本
  3. PS菜鸟入门 -- 添加滤镜
  4. MySQL运维实战系列:MySQL5.7 Group By 问题
  5. ubuntu 14.04 apache php mysql_Ubuntu 14.04 升级PHP 和 Apache
  6. android接口调用超时,RCA:收单设备调用云端接口频繁超时排查总结
  7. 测试工程师的核心竞争力----打卡第九天
  8. Android ProgressDialog示例
  9. 一个虚拟社交公司的融资历程
  10. 2022华为杯研究生数学建模竞赛B题思路解析
  11. axure网页预览_解决Axure发布分享预览的3个方法
  12. 字符串进阶——谈谈后缀全家桶(1) 后缀树
  13. 【抽奖】知网研学福利月卡
  14. springCloud- 搭建高可用的Eureka_server
  15. 网络安全-使用PGP实现电子邮件安全
  16. Android lua编辑工具,Lua脚本编辑器
  17. 【课程汇总】OpenHarmony 成长计划知识赋能第三期系列课程(附链接)
  18. 洛谷【T279725】搬砖
  19. OPGL+VS2017+GLFW+GLEW配置详细步骤
  20. jmeter 聚合报告里面是什么意思

热门文章

  1. android 水滴动画,Android动画探索——图标依次变大的水滴效果
  2. SparkSQL完成WordCount
  3. 0.NumpyPandas简介和安装
  4. NFine-ABP框架学习
  5. 51物联卡问答:物联网卡丢失损坏可以补办吗?
  6. 未来十年 我们都会在链上
  7. WPF教程(十五)MVVM框架
  8. mac rm -rf文件如何恢复
  9. 整理一些计算机基础知识! 1
  10. 手机快充技术——快充技术硬件详解