如果我有这个Haskell功能:
考虑以下Haskell函数 f :
f :: Int -> Int f 0 = 1 f x = x * x * f (x - 1)
然后我如何计算修复点和最少修复点(以封闭形式)?
这个问题的答案是:
如何计算最少修复点?我试图理解这一点,但仍然没有运气。如果有人能向我解释这一点,那就太好了。
答案 0 :(得分:0)
很容易看出
f x = x * x * f (x-1)
= x * x * ((x-1) * (x-1) * f (x-2))
= x * x * ((x-1) * (x-1) * ((x-2) * (x-2) * f (x-3)))
= ...
= x * x * ((x-1) * (x-1) * ((x-2) * (x-2) * ... * 1)))
现在在评论中回答你的问题,当递归结果(x!)^2
未被平方时,这与给定的公式f (x-1)
如何相等,只需使用{的关联性和可交换性重新排列上述因素。 {1}}超过(*)
:
Int