检查 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}
如果数字 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}