HDU-2058 The sum problem
2015-07-27 18:55
344 查看
#include <iostream> #include <stdio.h> #include <math.h> using namespace std; int main() { int n,m; int N; int i,k; while(scanf("%d %d",&n,&m)!=EOF) { if(n==0&&m==0) break; k=0; N=sqrt(2*m); for(i=N;i>=1;i--) { k=m-(i-1)*i/2; if(k%i==0) printf("[%d,%d]\n",k/i,k/i+i-1); } puts(""); } return 0; }
题意:就是1,2,3,4.......n 之后列举全部的子列 这些子列的和等于m。
题解:我在好奇我当时是怎么写的...参考网上的吧?好像是根据等差数列求和弄公式总结搞出来的...
相关文章推荐
- HDU 5247 找连续数 (set妙用)
- 字符串倒序输出-多种方法
- 整数变字符串 字符串变整数
- 赛前必须看的细节
- POJ题目细究
- hdu 2492 树状数组 Ping pong
- 给eclipse配置sublime主题的背景
- shell常用的 if语句【-x file】
- Linux系统下安装rz/sz命令及使用说明
- POJ 1068 Parencodings(模拟)
- 使用LabVIEWPC的制备
- 折半代码处理。短信发送。
- Alternating Least Squares(ASL) for Implicit Feedback Datasets的数学推导以及用Python实现
- 课堂笔记04
- Linux的磁盘管理
- cocos2dx飞机大战开发记录(1)
- 计算干支纪年具体年月日的方法
- getResourceAsStream(“”)路径问题
- ubuntu python 安装
- LeetCode 238: Product of Array Except Self