递归算法-解答

递归算法-解答

ID:43853426

大小:45.50 KB

页数:6页

时间:2019-10-15

递归算法-解答_第1页
递归算法-解答_第2页
递归算法-解答_第3页
递归算法-解答_第4页
递归算法-解答_第5页
资源描述:

《递归算法-解答》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*---------------------------------------------------------------------------------------------------------------------------1、运动会开了N天,一共发出金牌M枚。第一天发金牌1枚加剩下的七分之一枚,第二天发金牌2枚加剩下的七分之一枚,第3天发金牌3枚加剩下的七分之一枚,以后每天都照此办理。到了第N天刚好还有金牌N枚,到此金牌全部发完。编程求N和M。------------------------------------------------

2、---------------------------------------------------------------------------*//**/#includeintF(intn,int&m)//若n天时,有金牌m枚;则前一天有金牌N*7/6+N-1枚,即n--天时,m=m/6*7+n.{if(m%6==0){//因金牌的数量必须为整数,则m和m/6*7+n也为整数,则m必须为6的整数倍if(n==1)return1;//逆推至第一天时,返回1,结束main函数中的i循环else{n--;m=m/6*7+n;F(n,m);}//当

3、n不是第一天,调用F,依次向前,并将金牌数存放至&m中,即M中}elsereturn0;//当m不是6的整数倍,返回0,不结束i循环}voidmain(){intN,M;for(inti=1;i;i++){M=i;//因第N天刚好还有金牌N枚,可以将i赋给NM,判断是否可以推至第一天N=i;if(F(N,M))break;//返回1,结束循环}printf("N=%dM=%d",N,M);/*//验证printf("分析:");for(i=1;i<=N;i++){printf("N=%d时,M=%d",i,M);M=(M-i)/7*6;}*/}/*-

4、--------------------------------------------------------------------------------------------------------------------------2、国王分财产。某国王临终前给儿子们分财产。他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;……;给第i个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少

5、份?---------------------------------------------------------------------------------------------------------------------------*//**/#includeintF(int&n,intm)//假设老国王共有n个儿子,财产共分成了m份,第一个儿子时,剩余财产份数(m-1)*9/10,{//第n++个儿子时,剩余财产份数m=(m-n)*9/10;m=(m-n)应为10的整数倍。n++;m=m-n;if(m%10==0){//为10的

6、整数倍时,进行下一步判断if(m==0)return1;//当财产剩余数为零时,返回1,结束main函数中的i循环else{m=m/10*9;F(n,m);}//当财产剩余数不为零时,调用F}elsereturn0;//当不是10的整数倍时,返回0,继续i循环}voidmain(){intn,m;for(inti=1;i;i++)//当i==1时,存在一组取值{n=0;//对于每一个i,需对n清零m=i;//以i循环来产生财产份数if(F(n,m))break;//返回1,结束循环}printf("n=%dm=%d或",n,m);for(i=2;i;i++)

7、//当i>=2时,存在一组取值{n=0;//对于每一个i,需对n清零m=i;//以i循环来产生财产份数if(F(n,m))break;//返回1,结束循环}printf("n=%dm=%d",n,m);/*//验证printf("分析:");for(i=1;i<=n;i++){printf("n=%d时,财产剩余m=%d",i,m);m=(m-i)*9/10;}*/}/*-----------------------------------------------------------------------------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。