小编sar*_*ka7的帖子

甚至?方案中的函数(Racket 博士)

我正在尝试在Scheme中编写一个程序来使用快速幂算法/递归来计算幂函数的结果。该算法应该是正确的,但我的语法在某些地方是错误的。程序可以编译,但当我输入一个基数和指数进行测试时,Dr. Racket 冻结并耗尽内存。很难找到有关(偶数?)函数应如何出现在方案代码中的在线示例。我认为这可能会破坏我的语法。计划新手,因此任何帮助将不胜感激。

(define (powFun base exp)
    (if ( = exp 0)                       //base case
     1                                     
       (even? exp                        //if exp is even
          (*
            (powFun base ( / exp 2))
            (powFun base ( / exp 2))
          )

       (*
          (powFun base (- exp 1) )      // else if exp is odd
           base 
       )
     )
  )
Run Code Online (Sandbox Code Playgroud)

)

recursion scheme

2
推荐指数
1
解决办法
8373
查看次数

标签 统计

recursion ×1

scheme ×1