您的位置:首页 > 其它

关于 高斯算法计算某数可以被分割成连续自然数之和的组数 个人的一点拙见

2014-09-14 21:10 537 查看
题目描述:基于高斯算法计算一个正整数可以被分割成多少组连续(包括自身)的自然数之和?

如:

3=3;

3=1+2;

5=5;

5=2+3;

6=6;

6=1+2+3;

.......

解题思路:

由Sn=n*a1+(n-1)/2*d

因为 d=1;

可得:a1=(Sn-(n-1)/2)/n //a1为连续数列中的最小数 n为当前数列元素的个数

考虑n>=1

当a1=1时,n可取最大值

得出:n<=(2*Sn+1)/3

综上,1<=n<=(2*Sn+1)/3

由此可得出每组满足题意的连续数列!

新人发帖!欢迎大神指正优化思路!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: