[BFUACM]连续正整数1077
来源:互联网 发布:天猫淘宝棉拖鞋 编辑:程序博客网 时间:2024/04/30 20:00
一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:描述
一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如:
15=1+2+3+4+5
15=4+5+6
15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
输入
多组,每组一个正整数,以命令行参数的形式提供给程序。(输入数据小于10000001)
输出
在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出“NONE”。
样例输入
15
16
样例输出
1->5
4->6
7->8
NONE
15=1+2+3+4+5
15=4+5+6
15=7+8
请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。
输入
多组,每组一个正整数,以命令行参数的形式提供给程序。(输入数据小于10000001)
输出
在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出“NONE”。
样例输入
15
16
样例输出
1->5
4->6
7->8
NONE
#include"stdio.h"
#include"algorithm"
int main()
{
int n,start,end,num,k;
while(scanf("%d",&n)!=EOF)
{
k=0;
num=start=end=1; //????num???????????????? start?????? end?????? 1-1????????1
while(end<=n/2||start<=n/2)
{
if(n==num)
{
printf("%d->%d\n",start,end);
k++;
end++;
num+=end;
}
else if(n>num)
{
end++;
num+=end;
}
else
{
num-=start;
start++;
}
}
if(k==0) printf("NONE\n");
}
return 0;
}
- [BFUACM]连续正整数1077
- 连续正整数(1077)
- 1077连续正整数解题报告
- 连续正整数
- 连续正整数
- 连续正整数
- 连续正整数之和
- 连续正整数之和
- 连续正整数之和
- 连续正整数和 问题解答
- 连续正整数问题
- 连续正整数的和
- 连续正整数的和
- EOJ----连续正整数之和
- 正整数分解为n个连续正整数
- [算法]连续正整数问题(续)
- 【数论 / 数值】【RQNOJ】连续正整数
- 拆分为连续正整数之和
- 高密度AVS+实时转码设备的研究和实现(转自DVBCN)
- thinkphp ajax
- 字符分割源代码(效果还可以)
- android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明
- android junit单元测试
- [BFUACM]连续正整数1077
- 去年底写的mysql分库分表中间件heisenberg
- Win32 dll 的简单创建与使用
- spark内核揭秘-03-spark核心组件
- C语言基本数据类型的介绍
- [BFUACM]辗转相除法
- 为每位消费者爱车担保200万美金保险,是任性,还是疯了?
- jquery取kindeditor插件的textarea的值
- 【Github教程】史上最全github使用方法:github入门到精通