通过F#中的三位数检查可分性

时间:2015-01-27 06:36:41

标签: f#

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

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

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

1 个答案:

答案 0 :(得分:4)

您的if没有相应的then,相等比较为=而不是==

但是如果你使用for-loop你将不得不在某个地方使用mutable,你可以使用while循环,但我会使用Seq.exists

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