如题所述
第1个回答 2019-12-26
这个程序的难点在函数Try()上,它是一个递归函数。
你说的这个return (n*Try(n-2)),相当于:
try(n)=n*try(n-2)
比如:
Try(5)=5*Try(3)①
Try(3)=3*Try(1)②
Try(1)=1*Try(-1)③
而Try(-1)=1④
把④代入③得:Try(1)=1*1
再代入②得:Try(3)=3*1*1
再代入①得:Try(5)=5*3*1*1
所以最终结果是Try(5)=5*3*1=15
有什么问题请留言。
你说的这个return (n*Try(n-2)),相当于:
try(n)=n*try(n-2)
比如:
Try(5)=5*Try(3)①
Try(3)=3*Try(1)②
Try(1)=1*Try(-1)③
而Try(-1)=1④
把④代入③得:Try(1)=1*1
再代入②得:Try(3)=3*1*1
再代入①得:Try(5)=5*3*1*1
所以最终结果是Try(5)=5*3*1=15
有什么问题请留言。
第2个回答 2019-12-26
return为函数返回值的意思。main()函数return 0的意思是正常退出。(如果1就是异常退出)追问
return(try)
看不懂
为什么返回这个
这个返回的又是啥
追答这是一个递归写法
追问?
本回答被提问者采纳第3个回答 2019-12-26
就是一个正常的判断,如果小于零就返回一个值没什么特别的 ,这是递归相乘追问
return(n*Try(n-2));看不懂
追答返回,计算括号里的,一步步分解,得出结果,返回