曾加的回答
先写结论:九进制对文明来说其实是非常不错的进制,虽然可能不如八进制、十六进制、十二进制,但和十进制可能半斤八两,如果按照九进制生活,文明的数学发展水平发展速度并不会和十进制有太大的差异,至于奇数和偶数的概念,更是很就早能被发现的,不值一提。
不妨我们身临其境一下,以下内容均为 九进制文明视角。
为了描述方便,在这个视角下,不存在「九」这个称谓,所有「九」的称谓都被读作「十」,所以这个文明也自称使用「十进制」。而这个世界中的「百」、「千」、「万」即代表了人类十进制下的 81、729、6561……
首先是这个文明中里耳熟能详的「八八乘法口诀表」
对于这个文明,3 和 6 是这个世界最耳熟能详的数字,毕竟这些数的倍数末尾都是 3、6。
另外比较有名的说法是「卅数」和「丗数」,这个说法比「奇数」、「偶数」更出名。
「卅数」是指除以 3 余数为 1 的数,也即末尾为 1、4、7 的数;
「丗数」是指除以 3 余数为 2 的数,也即末尾为 2、5、8 的数。
早年的数学研究很多就是围绕着「卅数」和「丗数」展开的。
当然,很快也诞生了就是「奇数」和「偶数」的概念,偶数是 2 的倍数,奇数不是 2 的倍数。
怎么看一个数是奇数还是偶数呢?
先说一个概念叫「奇数因子」:1、3、5、7。
然后对于不小于两位的数,我们就看「奇数因子」有几个,如果有奇数个,那这个数就是奇数,比如 12、47、333、656……反之就是偶数,比如 35、40、576、7281 ……
小学数学老师会告诉你,有一个巧妙的方法,可以迅速判定一个数是否为 2、4、8 的倍数:看它们的数字和是否为 2、4、8 的倍数。在数学比较好的国度中,8 的倍数们:8、17、26、35、44、53、62、71 都是耳熟能详的。
3 的倍数就不讲了。判断一个数是否是 6 的倍数的方法,就是先看是不是 3 的倍数,再看看是不是 2 的倍数。
至于一个数是否为 5、11 的倍数,小学奥赛老师会告诉你:看这个数奇数位的和与偶数位的和之差是否为 5、11 的倍数。比如 5478,个位和百位的和 4+8=13;十位和千位的和 5+7=13,所以这个数是 5、11 的倍数。再比如 35634,奇数位之和 3+6+4 =14;偶数为之和 5+3=8,而 14-8=5,因此 35634 是 5 的倍数,但不是 11 的倍数。
至于一个数是否为 7,14,15 的倍数,一般是超纲内容。超微资深一些的老师会告诉你,有一个简便一些的判别方法,注意到 888 是 7,14,15 的倍数(888=8×7×14=4×14×15),可以将一个大数每 3 位一分割,然后求和,如果这个是 7,14 的倍数,原数也是 7,14 的倍数。
举个例子:23456122,我们先算出:23+456+122= 612,612/7=78 是 7 的倍数,因此 23456122 是 7 的倍数。
后来诞生了计算机。
程序员们对 2 的幂次非常熟悉:2,4,8,17,35,71,152,314,628,1357……
考虑到 2 的 10 次方是 628,所以每年的 6 月 28 日被认为是「程序员节」。
人们发现 2 的 11 次方是 1357,一个这么偶数的数,居然每一位都是奇数,太神奇了!
人们还发现 2 的 21 次方为 878162,这个数和 1000000 仅仅差了 1.07%,非常接近。
于是 1MB = 2^21 B = 878162 B
这个国家同样对数论感兴趣,他们比较熟悉 100 以下的 24 个素数:
2、3、5、7、12、14、18、21、24、32、34、41、45、47、52、58、65、67、74、78、81、87。
100 以内最大的素数是 87。
业余数学家费牛发现:
都是质数。于是他猜想,2^2^n + 1 都是素数。
但后来人们发现,2^2^5 + 1 = 12068657455 = 782 × 13542217,这个数不是素数!
在这个文明里,人们也开始研究其他进制,发现在其他进制中,普遍存在「走马灯数」,也就是说,它的倍数会是这些数字的重新组合,而且顺序也不变,只是起点和终点不同。
比如:
但唯独 10 进制,似乎没有这样的「走马灯数」。
后来数学家证明了,因为 10=3×3 是平方数,在平方数进制下,我们是没有走马灯数的,真可惜!
在这个文明里,没有人们耳熟能详的「走马灯数」。不过却有另一个耳熟能详的数,是 62853。这个数被成为「黑洞数」。
黑洞数又称陷阱数,是类具有奇特转换特性的整数。任何一个数字不全相同整数,经有限“重排求差”操作,总会得某一个或一些数,这些数即为黑洞数。
比如 31467,将其重新排序后最大的数是 76431 ,最小的数是 13467 ,相减以后得到 62853;
然后继续以上操作:86532 - 23568 = 62853
咦,居然没有发生变化?
这就是黑洞数(代码参见附录)。
事实上,已经证明,1~4 位数都不存在「黑洞数」,于是 62853 是最小的黑洞数。而且,并不是所有的 5 位数都能跌入「黑洞数」的(只有 5210 种初始值可能会跌入这个循环,占 5.8%),更大的可能是,跌入一个「循环」(除了 11111 的倍数外,其余情况均是如此):
74832 -> 63843 -> 52854 -> 60873 -> 83841 -> 74832:
因此「黑洞数」 62853 显得弥足珍贵,很多人都把它设置成密码。
在该文明的知乎上,数学区会有一个月经问题:0.8888888…… 是否等于 1 ?
有一个高赞回答是:注意到 1/2 = 0.4444444……,因此 1/2 × 2 = 0.888888…… 所以 0.888888…… 等于 1 。
也对,这个文明的小数发展的更早,毕竟 1/2 = 0.444444……,所以人们很早就发现了「循环小数」。
在进行 10 以下的等分时,循环节最多 3 位,也比较容易记忆,老师会要求背诵下来。
关于「圆周率」,一开始,人们认为圆周率大概比 3.12 稍微大一点。
后来锦国的科学家孙退之利用「割圆术」,算出圆周率在 3.1241881~3.1241882 之间。
并且给出了两个近似值。
人们发现,圆周率小数点后前 7 位的每一位都是 2 的幂次,人们认为这应该不是巧合。因此认为圆周率后的每一位可能都是 2 的幂次。
直到一千年后,数学大发展,计算圆周率的方式也被优化了,人们发现圆周率后第 12 位是 7,推翻了这一结论。
现在人们知道,圆周率大约是 3.124188124074427883……
后来,科学家发明了对数。定义如果以 10 为底的对数为 lg
于是 lg2≈0.275, lg3=1/2≈0.444,lg5≈0.653
后来马顿发明了微积分,但与此同时祛拳尼兹也独立发现了微积分,两个人大吵一架,不欢而散。
不过这不用要,重要的是,大家发现 e ≈ 2.641557364 这个数似乎也是一个超越数
(未完待续)
附录:「黑洞数」计算代码:
# author: PlusZeng
# date: 2022/12/4
import math
def root_10_to_n(x,n):
result=""
for i in range(math.floor(math.log(x+1,n)),-1,-1):
result += str(math.floor(x/n**i))
x=x%n**i
return result
def minus_hole(x,root_n):
y_min=sorted(x)
z_min=''
z_max=''
a_max = 0
a_min = 0
for i in range(0,len(x)):
z_min += y_min[i]
z_max += y_min[len(x)-i-1]
a_min += int(y_min[i])*root_n**(len(x)-i-1)
a_max += int(y_min[i])*root_n**i
result = root_10_to_n(a_max-a_min,root_n)
print(z_max + ' - ' + z_min + ' = ' + result)
return result
if __name__ == '__main__':
print('进制:')
n= int(input())
print('数字:')
x = input()
is_circle = 0
t_max = 100
numList=[]
numList.append(x)
for i in range(1,t_max):
numList.append(minus_hole(numList[i-1],n))
for j in range(i-1,-1,-1):
if numList[i] == numList[j]:
is_circle = 1
break
if is_circle == 1:
break
print(numList[j],end='')
for k in range(j+1,i+1):
print(' -> ' + numList[k],end='')