【发布时间】:2010-11-30 10:42:45
【问题描述】:
我正在尝试以编程方式解决数学问题。有一种方法可以生成以 3 为底的数字,这将很容易解决问题。您是否知道任何具有内置支持以处理大量非平凡基数的语言?如果您能指出一些可以帮助我生成以 3 为基数的序列的工具,那将同样很棒
【问题讨论】:
标签: math programming-languages numbers
我正在尝试以编程方式解决数学问题。有一种方法可以生成以 3 为底的数字,这将很容易解决问题。您是否知道任何具有内置支持以处理大量非平凡基数的语言?如果您能指出一些可以帮助我生成以 3 为基数的序列的工具,那将同样很棒
【问题讨论】:
标签: math programming-languages numbers
数字本质上没有基数。 表示数字可以。通常,您通过使用仅包含“0”、“1”和“2”字符(可能还有小数点或负号或其他)的字符串来表达“数字的基数 3 表示”的概念。
【讨论】:
只需对数字重复 divmod 3 直到得到 0。相乘和相加即可恢复原始值。
【讨论】:
python 可以使用 int('012',3) 从基数 3 转换为 5,而 Python elegant inverse function of int(string,base) 则相反
【讨论】:
J 编程语言 (http://jsoftware.com/) 具有 Base 和 Antibase 作为主要功能。这些完全是数字,而不是字符操作。这些初选的词汇条目是 http://jsoftware.com/help/dictionary/d401.htm 和 http://jsoftware.com/help/dictionary/d402.htm
使用这些可以很容易地处理 base-3 表示。这是一个示例程序定义,以及在控制台中的交互使用:
base3=: 3& #. ^:_1
base3 8
2 2
base3 i. 19
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
0 1 2
0 2 0
0 2 1
0 2 2
1 0 0
1 0 1
1 0 2
1 1 0
1 1 1
1 1 2
1 2 0
1 2 1
1 2 2
2 0 0
【讨论】: