题目:输入一个正数 n,输出所有和为 n 连续正数序列。
例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5、4-6 和 7-8。
思路:我们再找连续的序列,那么我们从最小的一直往前加,如果和结果相等,那么这是一个符合条件的序列,然后再连续的往后加,如果和比结果小,那么一直往后加,如果比结果大,那么需要取出前面小的值,因为后面大的值是刚添加上的...
分类:
其他好文 时间:
2015-04-29 09:51:39
阅读次数:
99
剑指Offer之和为S的两个数字
剑指Offer之和为S的连续正数序列
扩展(1):输入一个数组,判断这个数组中是不是存在三个数字i, j, k,满足i+j+k等于0。
扩展(2):如果输入的数组是没有排序的,但知道里面数字的范围,其他条件不变,如何在O(n)时间里找到这两个数字?这个的基本思路是先用哈希表实现O(n)的排序(请参照本面试题系列的第57题),接下来...
分类:
编程语言 时间:
2014-12-22 11:14:52
阅读次数:
141
题目1354:和为S的连续正数序列
时间限制:2 秒内存限制:32 兆特殊判题:否提交:1685解决:511
题目描述:
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你...
分类:
其他好文 时间:
2014-12-11 19:09:46
阅读次数:
176
题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。分析:选择数组的两端,将其相加,然后与s比较,如果比s大,则将指向数组最后的向前移一位,如果小于s,则指向数组的第一位的向后移一位..
分类:
其他好文 时间:
2014-12-10 02:01:35
阅读次数:
215
题目如下:
题目:输入一个正数n,输出所有和为n 连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。
看见这个题目,我首先想到的是等差数列求和,首先我开始想了一下的等差数列求和的公式(说实话,我忘记了),得到公式是这样的Sn=n*a1+n*(n-1)d/2
对于这道题目毫不疑问的是公差d=1,所以相对...
分类:
其他好文 时间:
2014-10-07 18:44:54
阅读次数:
201
51.和为n 连续正数序列。
题目:输入一个正数n,输出所有和为n 连续正数序列。
例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3 个连续序列1-5、4-6 和7-8。
代码如下:
public static void findSeqSum(int sum)
{
int begin=1,end=2,mid=sum/2,curSum=begin+end;
...
分类:
其他好文 时间:
2014-08-24 00:24:32
阅读次数:
196
题目描述:
小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?
Good Luck!
输入:
输入有多...
分类:
其他好文 时间:
2014-08-14 16:54:08
阅读次数:
245
和为s的连续正整数序列 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一个正数s, 打印出所有和为s的连续正数序列(至少含有两个数).起始于1, 2, 相加, 如果相等则返回, 如果小于, 则前端递增右移, 如果大于, 则后端递增右移, 一直到后端移动到s的一半位置.因为两个数, 小数为一半, 大数为一半加一, 则必然结束.代码:/*
*...
分类:
其他好文 时间:
2014-07-12 23:33:56
阅读次数:
242
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27823291题目描写叙述:小明非常喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他立即就写出了正确答案是100。可是他并不满足于此,他在想到底有多少种连续的正数序列的和为100(...
分类:
其他好文 时间:
2014-07-11 09:51:58
阅读次数:
283
def sumS(s):
if s 1:
if cursum < s:
last += 1
cursum += last
else:
if cursum == s:
re.append((...
分类:
其他好文 时间:
2014-07-03 16:42:24
阅读次数:
190