早教吧 育儿知识 作业答案 考试题库 百科 知识分享

你刚才解答的题.x=9,那fun(x-2)中的x是几?我不知道怎么的出来的.

题目详情
你刚才解答的题.x=9,那fun(x-2)中的x是几?我不知道怎么的出来的.
▼优质解答
答案和解析
哦,我没说清楚,是“x-2=7",所以下一次调用fun函数时,参数x=7.不知道你数学学的怎么样,还是用数学的递推公式说吧.
我们先正推吧:
fun(0)=fun(1)=3
fun(2)=2-fun(2-2)= -1
fun(3)=3-fun(3-2)=0
fun(4)=4-fun(4-2)=5
fun(5)=5-fun(5-2)=5
fun(6)=6-fun(6-2)=1
fun(7)=7-fun(7-2)=2
fun(8)=8-fun(8-2)=7
fun(9)=9-fun(9-2)=7
让我们去求,你也看到了,很麻烦,用C语言,你也不可能这样罗列,所以就得用”迭代“,你不理解可以认为”循环也是一种迭代“,就是说我们要把这些麻烦而又重复的部分用1个递推关系式表示出了.
你那个fun函数,你给它的参数是9,就是用上面最后一个式子计算,也就是说,fun函数要求fun(9),就必须求”9-fun(9-2)“,而要求fun(9-2)也就是fun(7),根据你的fun函数就得求"7-fun(7-2)",而fun(7-2)=fun(5),所以又调用fun函数,而fun(5)=5-fun(5-2),所以得求fun(3),而fun(3)=3-fun(3-2),而fun(1)就不用求了,然后fun函数一步步返回fun(1)、fun(3)、fun(5)、fun(7)、fun(9)的值.
你别看到C语言就头疼,那个"int fun(int x)" ,这里的x你就把它理解成数学函数中未知数