检查 F# 中的三位数字是否可整除

Check for divisibility by a three digit number in F#

如果数字 x 可以被 100 到 999 之间的某个数字 i 整除,并且 x/i 介于 100 和 999 之间,我希望函数 isDiv 为 return true;我试图写下面的方法;

let isDiv x =
    for i in 101..999 do
        if x%i == 0 && x/i > 100 && x/i < 999 
            0  

F# Interactive 面板告诉我这不完整 - 我哪里出错了?

您的 if 没有对应的 then 并且相等比较是 = 而不是 ==.

但是如果你使用 for 循环,你将不得不在某个地方使用可变的,你可以使用 while 循环,但我会改用 Seq.exists:

let isDiv x = Seq.exists (fun i -> x%i = 0 && x/i > 100 && x/i < 999) {101..999}