生番进制问题
假设太平洋某小岛有一群土著顽固崇拜素数他们规定
一个数字必须表示成以素数做进制的数
即最低位逢2进1,然后逢3进一,逢5进一,依次类推
问题1、16,17, 238怎么表示
问题2、一个数字是否能唯一的表示成这种进制呢? 我觉得这种计数法则类似于“混合进制”,
比如我们常见的 ../年/月/日/时/分/秒/.. 之类的计数法则,
应该是可以做到一一对应的。
这个“生番进制”与前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= 问题2、一个数字是否能唯一的表示成这种进制呢? 应该是的。只要是自然数(因小数法则尚未定义)。
见 2# 我的回复第三行。 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) 说不出来的疑惑 最低位逢二进一,则最低位只有0 1 ,第二位上的数字n实际上是2*n;第二位逢三进一,则第二位上只有0 1 2,第三位上的数字m实际上是m*3*2,,,,,以此类推 我刚发现这个论坛,挺好玩的,
页:
[1]