平衡九进制
想来想去还是把名字改成平衡九进制好, 平衡三进制的名字已经在网上了, 也省的我再乱命名, 之前的内容只能到我的网易博客看了, 怕转过来链接csdn把把我的博客封掉, 进入正题, 平衡九进制数的图形展示是一个九宫格, 分别填入数字: 6 1 8 7 5 3 2 9 4 然后每一个格子可以扩展细分成新的九宫格, 最大的一层可以往外延伸, 这些直接从自然数推就可以了, 也可以参照wiki上面的平衡三进制, 总的说两者就是高维低维的对应, 再往上就平衡八十一进制了,偶数嘛, 实际的用处不多, 虽然用来指明方向非常直观, 但是现在没人用,我一个人说也不算, 符号计算法则跟自然数相似, 也就是后面的重点, 另外的只能到博客看了,要不看下面源码, 我对自己的源码没多少信心, 思路大概这样的, 首先最简单的加法乘法结果可以从平面当中读出来, 所以使用了列表索引, 然后加法和乘法都是将每一对符号相乘的结果分开保存再两个数组, 一个周期结束之后收集累加, 加法累加之后循环累加直到进位消失, 乘法就直接调用加法了, 减法就是取相反数然后执行加法,简单的, 除法最麻烦, 我最后的办法是暴力运算, 结果的每一位都选取9个数字尝试, 每位数乘以除数到的乘积, 然后通过共轭再次乘积对比得到离被除数最近的一个点, 然后确定数值然后累加到结果, 最后一步步得到结果, 所以乘法的次数相当多,速度慢, 相信没有别的好办法了在目前的认识水平, 然后那个loop_mark的数值可以增大, 会更精确,更慢.. 文件是:同个目录的luo和shu两个模块. 源码如下,python 2.7.1 gcc4.5
luo.py
shu.py
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |