编程的方法,因为确知经过N-1次处理,过程结束。所以整个数组长度为2N-1个,前面是从1到N。
从N开始后面无非是把2*q-1和2*q(q为从1到N-1)位置的两个数字求和放在最后面一个位置,这样做下去,就可以完整的得到一个数列。
然后求和。
我只会mathcad。
程序很简单。
但是显然有更加有效的方法来解决这个问题。 本帖最后由 wiley 于 2009-12-12 05:09 编辑
5# 到处瞎逛
不好意思没有细读题目, 我以为是一直加各位数字到只剩一位数.
给定N, 先找到整数m满足: 2^m \le N \lt 2^{m+1}
最后的和是: (m+1) {N(N+1)}/2 + {(2N-2^{m+1})(2N-2^{m+1}+1)}/2
N=94, m=6, 代入上式即可 网上有这道题的解析解的公式,但是要分析出这样的结果还是有点麻烦的。
呵呵。 纠正12楼如下:
给定N, 先找到整数m满足: $2^m≤N<2^(m+1)$
最后的和是:$ (m+1)N(N+1)/2+(N-2^m)(2N-2^(m+1)+1)$
N=94, m=6, 代入上式即可 奇了怪了,我发现我的帖子竟然不能正常显示
换一个浏览器试试,发现原来是Google浏览器惹的祸,
看来我误解了Wiley,:L 呵呵,在IE内核的浏览器下,发现我给的公式里的 ≤ 符号不能正常显示,
而在Firefox下却能显示的好好的。
看来该不等式成立
Firefox>IE>google 哈哈,看到大家都编程,我也试了一下,用的是Mathematica
C:\Documents and Settings\wayne>math
Mathematica 7.0 for Microsoft Windows (32-bit)
Copyright 1988-2009 Wolfram Research, Inc.
In:= a = Range; b = Total; While > 1,
a = Flatten[{a[], a[] + a[]}]; b += Last]; b
Out= 33085
In:=
有没有专业的奥数交流网站 http://www.math15.com/bbs/
这里有小学、中学、高中的奥数
页:
1
[2]