【发布时间】:2014-12-08 16:17:26
【问题描述】:
如果计算机使用以 6 为底(senary),他们可以很容易地找出 N 是否可以被 2 或 3 整除,并且由于数字和规则(欧米茄和 alpha 总和),他们还可以轻松地确定 N 是否可以被 3 整除5 或 7。
但是计算机使用 base 2(二进制)。所以他们可以很容易地确定 N 是否可以被 2 整除,并且由于数字和规则(alpha 总和),他们还可以确定 N 是否可以被 3 整除。
要确定 N 是否能被 5 整除,他们可以将 N 转换为以 16 为底(十六进制),然后使用数字和规则(欧米茄总和)来确定 N 是否能被 5 整除。
不知道……还有其他方法吗?
【问题讨论】:
-
好吧,你可以做常规的长除法并检查余数。
-
信不信由你,计算机可以除二以外的数字。
-
10**10(11 位)不是一个大数字。已知最大的素数(我们知道的数只能被 1 和自身整除)有超过 1000 万位。 -
对于小数字,例如
10**10,请参阅The integer division algorithm of x86 processors -
对于更大的数字,请参阅what division algorithms GNU MP library uses
标签: binary primes integer-division prime-factoring factorization