无心人 发表于 2008-4-3 08:57:27

生番进制问题

假设太平洋某小岛有一群土著顽固崇拜素数
他们规定
一个数字必须表示成以素数做进制的数
即最低位逢2进1,然后逢3进一,逢5进一,依次类推

问题1、16,17, 238怎么表示
问题2、一个数字是否能唯一的表示成这种进制呢?

gxqcn 发表于 2008-4-3 11:27:39

我觉得这种计数法则类似于“混合进制”,
比如我们常见的 ../年/月/日/时/分/秒/.. 之类的计数法则,
应该是可以做到一一对应的。

这个“生番进制”与前n个素数之积相关(在 HugeCalc 中,对应的函数名为 PrimeFactorial(n)):

“生番进制”中与普通10进制的等价关系为(前者用中括号标定):
= PrimeFactorial(0) = 1
= PrimeFactorial(1) = 2
= PrimeFactorial(2) = 6
= PrimeFactorial(3) = 30
= PrimeFactorial(4) = 210
= PrimeFactorial(5) = 2310
。。。

以 238 为例,
238/ = 0 … 238,得倒数第6位数=0
238/ = 1 … 28,得倒数第5位数=1
28/ = 0 … 28,得倒数第4位数=0
28/ = 4 … 4,得倒数第3位数=4
4/ = 2 … 0,得倒数第2位数=2
0/ = 0,得末位数=0

由于计数法则一般忽略前面连续的“0”,所以 238=
验证一下:( 238 == (((1*7 + 0)*5 + 4)*3 + 2)*2 + 0 )? 结果完全正确!

另,16=,17=

无心人 发表于 2008-4-3 11:53:07

问题2、一个数字是否能唯一的表示成这种进制呢?

gxqcn 发表于 2008-4-3 11:55:41

应该是的。只要是自然数(因小数法则尚未定义)。
见 2# 我的回复第三行。

shshsh_0510 发表于 2008-4-7 14:16:59

n=2*a(1)+2*3*a(2)+2*3*5*a(3)+...+p1*p2*...*pk*a(k)
另设
n=2*b(1)+2*3*b(2)+2*3*5*b(3)+...+p1*p2*...*pk*b(k)
且存在b(i)<>a(i)
取最小的i,于是p1*p2*...*pi*a(i)=p1*p2*...*pi*b(i) mod pi+1
p1*p2*...*pi*(a(i)-b(i))=0 mod pi+1
so,a(i)=b(i)

无心人 发表于 2008-4-7 16:04:42

说不出来的疑惑

oldseawave 发表于 2011-3-1 01:21:11

最低位逢二进一,则最低位只有0    1 ,第二位上的数字n实际上是2*n;第二位逢三进一,则第二位上只有0   1   2,第三位上的数字m实际上是m*3*2,,,,,以此类推

oldseawave 发表于 2011-3-1 01:22:17

我刚发现这个论坛,挺好玩的,
页: [1]
查看完整版本: 生番进制问题