我试图编写一个基本函数来取一个整数并计算一个bool,它将检查整数是否为素数。
我使用辅助功能来跟踪我测试的当前除数,如下所示:
fun is_divisible(n : int, currentDivisor : int) =
if currentDivisor <= n - 1 then
n mod currentDivisor = 0 orelse is_divisible(n, currentDivisor + 1)
else
true;
fun is_prime(n : int) : bool =
if n = 2 then
true
else
not(is_divisible(n, 2));
它对我来说是正确的,但是我在9上测试它并且在11上测试它然后在11上也是假的。
今天对所有问题表示歉心,谢谢!