平衡九进制

想来想去还是把名字改成平衡九进制好,

平衡三进制的名字已经在网上了,

也省的我再乱命名,
github上放了一份 ..https://github.com/jiyinyiyong/shuangsan0

之前的内容只能到我的网易博客看了,

怕转过来链接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

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...