社区
C语言
帖子详情
关于递归的
OpenOffice_org
2005-04-23 11:50:09
fun(int x)
{
if(x/2>0) fun(x/2);
printf("%d ",x);
}
main()
{ fun(6); }
这种函数的递归调用我看不懂,到底输出的X值为多秒?
请指教,谢谢
...全文
149
6
打赏
收藏
关于递归的
fun(int x) { if(x/2>0) fun(x/2); printf("%d ",x); } main() { fun(6); } 这种函数的递归调用我看不懂,到底输出的X值为多秒? 请指教,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
llf_hust
2005-04-24
打赏
举报
回复
fun(int x)
{
if(x/2>0) fun(x/2);
printf("%d ",x);
}
main()
{ fun(6); }
这种函数的递归调用我看不懂,到底输出的X值为多秒?
1. 6/2 ====>3 >0
fun(3/2)====>1>0
fun(1/2)====> 不大于0
输出 1 3 6
blackmouth
2005-04-24
打赏
举报
回复
fun(int x)
{
if(x/2>0) fun(x/2);
printf("%d ",x);
}
main()
{ fun(6); }
整数除法中1/2=0,3/2=1
所以x的值在传递过程中为6 3 1
当x=1时x/2>0不成立,结束递归,打印x
nanr_1122
2005-04-24
打赏
举报
回复
我这有问题 请教~~~~~`
很简单的两个函数:
long ract(int n) // 阶乘问题( n!)
{
if(n<0)
{printf("异常");
exit(-1);
}
else if(n<=1)
return(1);
else
return( n*ract(n-1) );// 调用自己;
}//结束;
经典 hanoi 问题;
void hanoi ( int n, char a, char b ,char c)
{ if(n>0)
{
hanoi(n-1,a,c,b);
printf("\n move disc %d from pile %c to %c",n,a,b);
hanoi (n-1,c,b,a);
}
}// end
我想请教的是 拿到问题时, 我想从 问题的 n 用 n-1 来设计过程不是太难;
终结条件也可以考虑, 但是如果从整体的实现过程 来考虑 可就麻烦拉~
就是对函数的每一层保存,每一层调用, 从底部 的回传数据```````
就晕到这拉~~~ 我看到过曾经数据结构上说, 尽量不要模拟全部过程,只要将n-1问题想成肯定能完成就行,调用便行;
如上 要是 hanoi 问题 , 我就可以不想那么多, 因为不用从最后向上一层一层传数据,可是 第一个 阶乘 (n!) 问题, 我觉得我总 得 大体想想数据的回传过程, 要不老觉得不放心,~~~ 可这样老是觉得很困难~```
向各位请教 , 有没有什么好方法或经验, 可以较快较好的 解决, 有什么好的思路
望各位不吝赐教~~~~~~
nanr_1122
2005-04-24
打赏
举报
回复
aA
delhe
2005-04-24
打赏
举报
回复
第一题 输出结果为 1 3 6
第二题是 B没错,因为s加了c次,而循环后b == c+1 ,又有a == s, 所以s == a + c
OpenOffice_org
2005-04-23
打赏
举报
回复
(22)若有如下程序段,其中s、a、
0)
b、c均已定义为整型变量,且a、c均已赋值(c大于
s=a;
for(b=1;b<=c;b++) s=s+1;
则与上述程序段功能等价的赋值语句
是
A)s=a+b; B)s=a+c; C)s=s+c; D) s=b+c;
顺便请教一下,这道题应该选几?我选A为什么会错?题目给出的答案是B。为什么?
s的值应为s=a+(1+2+3...+c), 这样的话应该是答案A 呀,为什么会是B?
请指教,谢谢
读懂C++
递归
程序
递归
在计算学科中是一种非常重要的方法,计算理论中到处都有用
递归
进行表述的问题及求解方法。 在程序设计中,数据描述和算法表达也常用
递归
,通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,
递归
策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 掌握
递归
,计算机类专业的学生必须要做到。 本文基于一个C++
递归
程序,分步骤进行演示,帮助你知道其执行过程,试图帮助你啃下这块硬骨头。
Android 音乐播放器源码
Android 音乐播放器,实现
递归
扫描SD根目录歌曲文件,切换播放模式、查看歌曲详细信息等基本功能,源码打包给大家,需要的下载哈 参考:http://blog.csdn.net/linmiansheng/article/details/18455593
关于
递归
连续两次调用的小结
关于
递归
连续两次调用的小结
递归
定义
递归
简单的来说可以理解为函数自己直接调用自己,或者间接调用。
递归
调用的时候。要找到
递归
的规律和结束的条件出口。 通常
递归
一次调用比较好理解。但是一般超过一次后,就比较难理解,比较抽象。 public void f(int count) { if (count >0) { return; } count--; System.out.println(count);
关于
递归
算法x(x(8))需要调用几次函数x(int n)
好久没有写博客了~最近去搞ios了,都没有时间研究我的unity3d~~~ 今天看到一个面试题,蒙圈了~ 这道题是关于
递归
算法的,好在姐姐聪明机智搞明白了 下面把我的想法和做法分享给大家,希望对像我酱紫的 小白有点作用 原题目:设计
递归
算法x(x(8))需要调用几次函数x(int n)。 class program { static void Main(string[]
关于
递归
次数过多,报错的问题
今天写一道算法题的时候出现的问题,记下来,以防以后出现此错误 题目 : Description: 求A^B的最后三位数表示的整数。 说明:A^B的含义是“A的B次方” Input: 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。 Output: 对于每个测试实例,请输出A^B的最后三...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章