gpt4 book ai didi

Haskell 程序崩溃 - 无限递归? where语句错误?

转载 作者:行者123 更新时间:2023-12-02 02:49:56 26 4
gpt4 key购买 nike

我需要从 1..n 计算所有阶乘的乘积。
当我调用这个函数 double_factorial(至少有 2 或 3 个参数)时,
它似乎被调用了一会儿,但没有任何 react ,几秒钟后 GHCi 就关闭了。怎么了?是否有一些我看不到的无限递归?
这是我的代码:

double_factorial :: Integer->Integer
double_factorial n
| n<0 = error "negative number is given"
| n==0 = 1
| otherwise = (factorial n)*(double_factorial n-1)
where
factorial :: Integer->Integer
factorial n
| n == 0 = 1
| otherwise = n*(factorial n-1)

最佳答案

(double_factorial n-1)意味着 ((double_factorial n) - 1)所以是的,这是一个无限递归问题。

关于Haskell 程序崩溃 - 无限递归? where语句错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18720427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com