📄 subject_48080.htm
字号:
<p>
序号:48080 发表者:最后一根稻草 发表日期:2003-07-27 23:43:16
<br>主题:这个递归程序谁能解释
<br>内容:int m(int x)<BR>{<BR>int y;<BR>if(x>100)return (x-10);<BR>else<BR>{<BR>y=m(x+11);<BR>return(m(y));<BR>}<BR>}<BR>运行时当X值小于100时得出的返回值总是91,我怎么也看不懂.<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:黎离 回复日期:2003-08-03 22:32:38
<br>内容:当x>101的时候,返回x-10,这就不用说了。<BR><BR>当90<=x<=101的时候,m(x)的值总是为91,这是因为:<BR>m(90)=m(m(101))=m(91)=m(m(102))=m(92)=m(m(103))=m(93)=......=m(99)=m(m(110))<BR>=m(100)=m(m(111))=m(101)=91<BR><BR>当x<90的时候,设x的值要加上N个11才能正好大于100,(N>1),也就是说<BR> x+(N-1)*11 <= 100 < x+N*11<BR>那么,<BR> 90 < x+N*11-10 <= 101 <BR><BR>则可以得出:<BR>m(x)= m(m(x+11))=m(m(m(x+22)))=m(m(....(m(x+n*11)))<BR>= m(m(.....(m(x+n*11-10))= m(m(....m(91))= 91<BR><BR>2003-8-3 22:36:25
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -