medie2005
发表于 2008-12-28 14:16:36
需要保存那么多信息吗?
你觉得保存一个0到9的多重组合需要多少空间?
无心人
发表于 2008-12-28 14:17:08
Prelude> let f n = product
Prelude> let p n = div (f (n+8)) ((f n)*(f 8))
Prelude> let a n = sum \$ map p
Prelude> a 2
54
Prelude> a 3
219
Prelude> a 33
445891809
计算到33需要计算445 891 809个数字
medie2005
发表于 2008-12-28 14:17:38
原帖由 无心人 于 2008-12-28 14:14 发表 http://bbs.emath.ac.cn/images/common/back.gif
呵呵
另外,你的计算工具够臭的啦
难道不用PARI或者Haskell??
我用的就是PARI.
无心人
发表于 2008-12-28 14:21:13
呵呵
128位足够表示32位十进制了
128位不足以描述1..9的数量信息
无心人
发表于 2008-12-28 14:21:46
用PARI你不用函数或者循环么?
medie2005
发表于 2008-12-28 14:25:56
实质上,考虑一个长度为n的0到9的多重组合,一共只有C(n+9,9)个这样的多重组合.
每个这样的多重组合,都有一个序号.当然,每一个序号也对应了一个多重组合.
我们用这样的一一映射,就可以做到在1bit内保存一个0到9的多重组合.
无心人
发表于 2008-12-28 14:29:26
那还要保存映射信息啊
每个数字都有到其他数字的一个映射
而且还要考虑如何快速的
进行双向的计算
即从数字到编号和从编号到数字
medie2005
发表于 2008-12-28 14:31:32
双向的计算不难.早就有人提出快的方法了.
我不明白为什么要保存映射信息.
无心人
发表于 2008-12-28 14:36:58
方幂圈
方幂圈
只有有了数字之间的映射,才能进一步分析
一个个找到这些圈啊
==================================
看我的程序
=================================
所谓的圈是,一个数字计算各位的方幂和,
形成新的数字,再计算,最终一系列的数字
将形成一个循环往复的圈
medie2005
发表于 2008-12-28 14:46:41
Floyd算法.