用算法计算

Jef*_*Jef 2 algorithm math

对不起,我想不出一个好头衔.

我正在进行与信息通信技术相关的练习并遇到这样的问题:

计算alg a(n)并且alg b(n)对于n = 1,2,3,4和5

(a)
    alg_a(n):result
    if n > 1 then
    return(alg_a(n?1)+alg_a(n?1))
    else return(1)

(b)
    alg_b(n):result
    if n > 1 then
    return(2 · alg_b(n?1))
    else return(1)
Run Code Online (Sandbox Code Playgroud)

首先,第1行的代码是什么(alg_a(n):result)?

答:问题要求我计算alg a(n),所以我说插入1 , if n > 1 --> no --> return 1. 但是当我插入n = 2时会发生什么.

任何帮助表示赞赏,

谢谢!

shi*_*t66 6

算法alg_a(n)计算2 ^(n-1),alg_b(n)做同样的事情.
Theese是递归函数.例如,对于4 alg_a返回:
alg_a(4)=
alg_a(3)+ alg_a(3)=
alg_a(2)+ alg_a(2)+ alg_a(2)+ alg_a(2)=
alg_a(1)+ alg_a(1 )+ alg_a(1)+ alg_a(1)+ alg_a(1)+ alg_a(1)+ alg_a(1)+ alg_a(1)= 8