一天一道算法题—2015-10-15
2015-10-15 18:42
211 查看
1、题目:输入一个正数n,输出所有和为n 连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。
解析:
1)本题的关键词是连续,而且是正数。
2)举例,从例子中找到规律。
n = 1 => 1
n = 2 => 2
n = 3 => 1+2
....
测试了几组,规律是这样的:
正数n,从1~ Int(n/2)遍历的数值作为起始点,然后依次累加,直至大于或等于n。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。
解析:
1)本题的关键词是连续,而且是正数。
2)举例,从例子中找到规律。
n = 1 => 1
n = 2 => 2
n = 3 => 1+2
....
测试了几组,规律是这样的:
正数n,从1~ Int(n/2)遍历的数值作为起始点,然后依次累加,直至大于或等于n。
#include <stdio.h> int main() { int n; //输入值 int mid,j; //中间值 ,循环值 int i; //增加值 int sum = 0; //累加结果值 int value ; scanf("%d",&n); mid = n/2 ; for ( j = 1 ; j < mid+1 ; j++) { value = j; sum = 0; while( sum < n ) { sum = sum + value; value++; } if ( sum == n) { for(i = j ; i < value;i++) { printf("%d ",i); } printf("\n"); } } }
相关文章推荐
- Kubernetes技术分析之灰度升级
- xcod7开发下 替换字符串中的某个元素
- Appium(1) 所需环境的安装 – windows版
- 51单片机的data,xdata,code区别详解
- jstorm开发指南-写个简单的jstorm应用
- Eclipse调试方法及快捷键
- 列式存储hbase系统架构学习
- maven下载源码和javdocs!
- DPI 相关
- 使用Phoenix通过sql语句更新操作hbase数据
- git 基础操作入门
- Oracle 健康监控器(Health Monitor)
- Linux Shell 常用命令
- iOS 与HTML5交互之捕捉HTML5按钮点击事件,获取webview上按钮的点击事件
- 《探索需求--设计前的质量》阅读笔记二
- OC中的Debug表达式
- requireJS对文件合并与压缩(二)
- Can you Smell the iBeacon?
- Java拆数
- PHP文件操作