和为n连续正数序列

来源:互联网 发布:恒辉模型淘宝 编辑:程序博客网 时间:2024/04/30 09:16

http://zhedahht.blog.163.com/blog/static/25411174200732711051101/

题目:输入一个正数n,输出所有和为n连续正数序列。

例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-54-67-8

 

 

15/5 = 3  15/3 = 5   15/2 = 7.5

 

n/i=j

i为连续的数字个数,分两种情况。

一、i和j都是奇数。j是连续数中间的那个数的值。

二、i是偶数。j必须小数点为0.5。这样才能在j的两边取偶数个连续值相加。

 

就像算公约数那样,把除数从1~√n,算一遍就好了。时间复杂度θ(√n)。

原创粉丝点击