社区
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值为多秒?
请指教,谢谢
...全文
146
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
关于
递归
连续两次调用的小结
关于
递归
连续两次调用的小结
递归
定义
递归
简单的来说可以理解为函数自己直接调用自己,或者间接调用。
递归
调用的时候。要找到
递归
的规律和结束的条件出口。 通常
递归
一次调用比较好理解。但是一般超过一次后,就...
关于
递归
算法x(x(8))需要调用几次函数x(int n)
这道题是关于
递归
算法的,好在姐姐聪明机智搞明白了 下面把我的想法和做法分享给大家,希望对像我酱紫的 小白有点作用 原题目:设计
递归
算法x(x(8))需要调用几次函数x(int n)。 class program { static ...
关于
递归
次数过多,报错的问题
递归
解决 #include #include #include #include #include #include #include using namespace std; int sum(int time, int a, int b) { if (time == 5000) return a; else { a = a*b % 1000; sum...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章