c++经典问题:狐狸找兔子

c++经典问题:狐狸找兔子

ID:1680523

大小:87.50 KB

页数:4页

时间:2017-11-13

c++经典问题:狐狸找兔子_第1页
c++经典问题:狐狸找兔子_第2页
c++经典问题:狐狸找兔子_第3页
c++经典问题:狐狸找兔子_第4页
资源描述:

《c++经典问题:狐狸找兔子》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C++经典问题:狐狸找兔子问题描述:围绕着山顶有10个洞,一只狐狸和一只兔子住在各自的洞里。狐狸想吃掉兔子。一天,兔子对狐狸说:“你想吃我有一个条件,先把洞从1-10编上号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依次类推,次数不限,若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。”狐狸满口答应,就开始找了。它从早到晚进了1000次洞,累得昏了过去,也没找到兔子,请问,兔子躲在几号洞里?分析:我们设定一个数组a[11],用来表示这10个山洞(a[0]不使用),并且

2、初始化为0(数组元素值为0表示该洞穴狐狸没有进入过),然后用多次循环模拟狐狸找兔子的过程,狐狸找兔子的循环肯定是有一个有限循环,我们不妨设置为1000,因为狐狸找了1000次还找不到兔子的话,早就累死了=.=然后,这10个山洞是围成了一个圈的,所以是在循环访问数组中的内容,用除n取余来限制。程序代码:[cpp]viewplaincopyprint?1.#include2.usingnamespacestd;3.intmain(){4.inta[11]={0};5.inti=0,k=0;6.int

3、n=10;7.for(i=1;i<=1000;i++){//设定循环的次数,也就是狐狸找兔子的次数8.k=(k+i)%n;//因为洞穴围成了一个圈9.if(k==0)k=n;//当k为0的时候,说明可以整除10.a[k]=1;//将数组值设置为1,表示这个洞狐狸已经进入过了11.}1.for(i=1;i<=n;i++){2.if(a[i]!=1){3.cout<<"洞穴"<using

4、namespacestd;intmain(){inta[11]={0};inti=0,k=0;intn=10;for(i=1;i<=1000;i++){//设定循环的次数,也就是狐狸找兔子的次数k=(k+i)%n;//因为洞穴围成了一个圈if(k==0)k=n;//当k为0的时候,说明可以整除a[k]=1;//将数组值设置为1,表示这个洞狐狸已经进入过了}for(i=1;i<=n;i++){if(a[i]!=1){cout<<"洞穴"<

5、行界面:延伸思考题目中说的洞穴是10个洞穴,我们可以很容易的扩展成,让用户输入任何一个可能的洞穴的个数n。我们只需要让数组大一点就可以了。[cpp]viewplaincopyprint?1.#include2.usingnamespacestd;3.intmain(){1.inta[100]={0};2.inti=0,k=0;3.intn=10;4.cout<<"请输入洞穴的数量n:";5.cin>>n;6.for(i=1;i<=1000;i++){//设定循环的次数,也就是狐狸找兔子的次数7.

6、k=(k+i)%n;//因为洞穴围成了一个圈8.if(k==0)k=n;//当k为0的时候,说明可以整除9.a[k]=1;//将数组值设置为1,表示这个洞狐狸已经进入过了10.}11.for(i=1;i<=n;i++){12.if(a[i]!=1){13.cout<<"洞穴"<usingnamespacestd;intmain(){inta[100]={0};inti=0,

7、k=0;intn=10;cout<<"请输入洞穴的数量n:";cin>>n;for(i=1;i<=1000;i++){//设定循环的次数,也就是狐狸找兔子的次数k=(k+i)%n;//因为洞穴围成了一个圈if(k==0)k=n;//当k为0的时候,说明可以整除a[k]=1;//将数组值设置为1,表示这个洞狐狸已经进入过了}for(i=1;i<=n;i++){if(a[i]!=1){cout<<"洞穴"<

8、顺序表3.计算线性表的长度4.插入结点5.追加结点6.删除结点7.查找结点1.按照序号查找结点2.按照关键字查找结点8.显示所有的结点9.顺序表操作完整示例

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

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

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