| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 409 人关注过本帖
标题:加急请教一道QB的题
只看楼主 加入收藏
shig27
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-10-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
加急请教一道QB的题
DECLARE FUNCTION c (a AS INTEGER, b AS INTEGER)
  PRINT c(6, 4)

  FUNCTION c (a AS INTEGER, b AS INTEGER)
    IF ((a = b) OR (b = 0)) THEN
     c = 1
    ELSE
     c = c(a - 1, b - 1) - c(a - 1, b)
    END IF
  END FUNCTION
  运行结果为:____________________
结果为7,但不会算,这道题中c = c(a - 1, b - 1) - c(a - 1, b)到底是什么意思,请能详细说说步骤,多谢了.
2012-10-09 18:54
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:4 
顶下~~~
2012-10-13 23:48
chenglovenju
Rank: 2
等 级:论坛游民
帖 子:11
专家分:30
注 册:2012-10-14
收藏
得分:4 
c = c(a - 1, b - 1) - c(a - 1, b)=c*(a-1,b-1)-c*(a-1,b),先计算括号内的表达式;
第一个括号里:这是一个逗号表达式,即最后一个表达式的值为括号内整个表达式的值,在这里即b-1;
第二个括号类似,b的值为括号内表达式的值;
所以原式等价于:c=c*(b-1)-c*b;
ps:我是用c语言来理解的,不过楼主的题目是什么语言我不太懂,我猜应该有相通的地方吧!
2012-10-14 00:19
梦回斯台普斯
Rank: 2
等 级:论坛游民
帖 子:3
专家分:16
注 册:2012-6-29
收藏
得分:4 
额,递归算法,运行过程是c=c(5,3)-c(5,4)=c(4,2)-c(4,3)-{c(4,3)-c(4,4)}=c(4,2)-2*c(4,3)+1=c(3,1)-c(3,2)-2*{c(3,2)-c(3,3)}+1=c(3,1)-3*c(3,2)+3=c(2,0)-c(2,1)-3*{c(2,1)-c(2,2)}=1-4*c(2,1)+6=1-4*{c(1,0)-c(1,1)}+6=7
2012-10-14 09:22
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:4 
什么叫QB啊?
2012-10-14 16:01
你的双手
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:28
专家分:101
注 册:2012-10-13
收藏
得分:4 
c = c(a - 1, b - 1) - c(a - 1, b)  这个是递归啊,就是函数体中调用了自身,知道有结果为止。
那么c(6,4)=c(5,3)-c(5,4);
其中c(5,3)=c(4,2)- c(4,3);  c(5,4)=c(4,3)-c(3,3);//注意:c(3,3)=1,但是c(4,3)要继续往下分解。
这样一直算下去,直到所有的c(a,b)都能用1表示,最后计算结果。

ps:楼主的题目是Basic语言啊。

双手 决定一切!
2012-10-14 16:26
快速回复:加急请教一道QB的题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014924 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved