【发布时间】:2018-07-09 15:43:16
【问题描述】:
我正在编写一个随机存取机器 (RAM),使用一个模拟器来测试给定的自然数是否是无平方的。我的目标是分析它的复杂性。
在高层我会使用下面的测试函数
def isSquareFree(n):
if n % 2 == 0:
n = n / 2
if n % 2 == 0:
return False
for i in range(3, int(sqrt(n) + 1)):
if n % i == 0:
n = n / i
if n % i == 0:
return False
return True
我的问题是,我不确定如何使用 RAM 命令计算 n 的平方根,并且在网上找不到太多资源。所以我正在重新考虑这是否真的是正确的做法。
有哪些替代方法可以测试一个自然数是否是无平方的,可以使用 RAM 来实现?
谢谢。
【问题讨论】:
-
正如目前所写,这个任务非常广泛。我建议您将此问题限制在您问题的特定部分。例如,“如何在 RAM 上计算平方根?”或“有哪些替代方法可以免费测试平方?”。此外,对场外资源的请求明显偏离主题,可能会导致您的问题被忽略或关闭
-
谢谢。现已编辑。