并不是我不明白如何求一个数的整数平方根。我知道使用 Python 和 C++ 查找它们的几种方法。
\n只是这个算法实在是太伤脑筋了。而且必须用 SML 编写它是另一个令人头疼的问题。
\n请帮助我理解这个算法。请注意,这应该使用递归:
\n\n\n的整数平方根是满足 \xc2\xb2\xe2\x89\xa4<(+1)\xc2\xb2 的整数。\n可以使用以下归纳过程计算整数平方根:
\n\n
\n- 递归计算 = div 4 的整数平方根。然后我们有 \xc2\xb2\xe2\x89\xa4<(+1)\xc2\xb2。
\n- 由于 和 是整数,所以我们有 (+1)\xe2\x89\xa4(+1)\xc2\xb2。因此我们有 (2)\xc2\xb2\xe2\x89\xa44\xe2\x89\xa4<4+4\xe2\x89\xa4(2+2)\xc2\xb2。
\n- 因此我们知道 的整数平方根是 2 或 2+1。
\n编写与上述算法相对应的递归 ML 程序。
\n