狐狸抓兔子的问题
2015-09-09 11:06
453 查看
狐狸抓兔子的问题,即,狐狸想抓兔子,兔子说:“你抓我可以,但是,这座山有20个洞,我就藏身在这20个洞中的一个中,现在你从第三个洞开始找,下一洞要隔一个洞找,即找第五个洞,再下一次隔两个洞,即找第八个洞,从此下去,每次比上次多隔一个洞”。
狐狸在20个洞中进出1000次,但是还是没有找到,写一个函数GetHole找出兔子可能在的洞中。
下面是代码,调试通过。
狐狸在20个洞中进出1000次,但是还是没有找到,写一个函数GetHole找出兔子可能在的洞中。
下面是代码,调试通过。
void GetHole(void) { int hole[20]; //20个洞 for(int n=0;n<20;n++) hole =n+1; int i,j,k; //其实洞为3,即j=3开始 for(i=1,j=3;i<=1000;j+=i) //找20次之后就开始循环进洞,就可以不用找了 ok { if(j>20) j-=20; //洞循环一周 for(k=0;k<20;k++) if(j==hole[k]) //经过的洞置为0 hole[k]=0; i++; } cout<<"兔子所在的洞:"<<endl; for(int m=0;m<20;m++) if(0!=hole[m]) cout<<hole[m]<<" "; cout<<endl; }
相关文章推荐
- 动易2006序列号破解算法公布
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解
- C++实现一维向量旋转算法
- Ruby实现的合并排序算法
- C#折半插入排序算法实现方法
- 基于C++实现的各种内部排序算法汇总
- C++线性时间的排序算法分析
- C++实现汉诺塔算法经典实例
- PHP实现克鲁斯卡尔算法实例解析
- C#获取关键字附近文字算法实例