我需要在sml中编写一个函数,它接受一个数字并确定它是否是斐波纳契数。 我已经完成了斐波纳契函数
fun fib 1=0
| fib 2=1
| fib n= fib (n-1)+fib(n-2);
但我想不出第一个?你有什么想法吗?
答案 0 :(得分:0)
这可能会帮助你。
fun isfib 0 = true
| isfib x =
let
fun help (i,j) = if j >= x then x = j else help (j,j+i)
in
help (0,1)
end
我创建了一个辅助函数,正向生成序列,直到我看到一个大于或等于我感兴趣的数字的数字。然后我测试看看该斐波纳契数是否等于x。