注册 登录
编程论坛 数据结构与算法

特大难题,用于超算的大规模并行运算

trewqyuiop 发布于 2014-08-28 14:02, 1540 次点击
门外汉,咋编程计算(a +b +c +d +e +f +g +h +i +j +k +L +m +n +o +p )∧16展开有多少项。谢谢啦
9 回复
#2
zklhp2014-08-28 14:34
http://zh.
http://baike.baidu.com/view/125891.htm

先看看百科是怎么说的 有公式
#3
trewqyuiop2014-08-28 16:39
我知道公式,问题是该用什么程序运行,特别是用在SUSI LIUNX系统的超级计算机上,而非用手算一项项合并,因为展开共有300540195项。其总和,当全部字母取值1时,值为18446744073709551616。
#4
vvvcuu2014-08-29 12:03
你需要的是最后的结果还是这个多项式的展开式?
最后结果的话直接调用C里面的pow函数应该能行吧。
展开式的话递归调用二项式定理如何?
#5
trewqyuiop2014-08-29 15:22
我要展开式,递归调用二项式定理没试过,毕竟有3亿多项,
#6
vvvcuu2014-09-02 21:30
展开式恐怕意义不大。存储它空间开销也够大的。不如使用通项公式来的方便。
#7
trewqyuiop2014-09-03 15:48
什么通项公式?
#8
vvvcuu2014-09-05 16:39
看一下二楼给你提供的网页,怎么不去看看呢?

根据上面提供的公式,辅以适当的排列方法,就可以写出展开式中的任意一项了。

对于你的问题,你如果要详细的全部项的展开式,说实话,真的没有上面用。 最多不过是用一下其中的某一项或者某几项。
#9
trewqyuiop2014-09-06 11:41
不能这样说,可以检验超级计算机的并行计算能力
#10
vvvcuu2014-09-07 10:52
这个版面一般来说讨论的都是很基础的数据结构算法问题。如果太复杂了,恐怕在这里很难找到答案。

因为这里更多的是初学者,刚入门。对于高深的知识没有接触过。你所谓的并行计算问题对于这里的网友来说不过是个概念而已,恐怕帮不上你的忙。

当这里的入门者达到能力上的某种层次以后几乎就很少再来这个坛子逛了。

检验超级计算机的并行计算能力的问题,更人认为更多的是检验的并行性,这个靠程序员对于算法的设计有更高的要求,要具体问题具体分析了。

对于本帖提到的问题,用通项公式解决就是完美的解决。不过,16这个数字虽然不大,但是递归的话,普通的笔记本如果完全输出这个问题的展开式的话,需要存储容量和计算时间不容小觑。
1