问题描述
一只兔子躲进了10个环形分布的洞中的一个。狼在第一个洞中没有找到兔子,就隔一个洞,到第3个洞去找;也没有找到,就隔2个洞,到第6个洞去找;以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?
问题分析
首先定义一个数组a[11],其数组元素为a[1],a[2],a[3]……a[10],这10个数组元素分别表示10个洞,初值均置为1。
接着使用“穷举法”来找兔子,通过循环结构进行穷举,设最大寻找次数为1000次。由于洞只有10个,因此第n次查找对应第n%10个洞,如果在第n%10个洞中没有找到兔子,则将数组元素a[n%10]置0。
当循环结束后,再检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身于该洞中。
下面是程序流程图:
![60ded27c79c0db030c07e2c5bdaaa3c6.png](https://i-blog.csdnimg.cn/blog_migrate/cf0ba4785f11c9f7045ecef102e89c50.png)
下面是完整代码:
#include
运行结果:
可能在第2个洞
可能在第4个洞
可能在第7个洞
可能在第9个洞
![e1d289eaaeff5516139f58f73b5a9bde.png](https://i-blog.csdnimg.cn/blog_migrate/38422176f296e8646b6db097166294af.png)
自学C/C++不易,此路应携手前行。
如果你想跟着小编一起学编程的话!
可以来我的C语言/C++编程学习基地,【点击进入】!
还有(源码,零基础教程,项目实战教学视频)【进入领取】!
![9d1ce144f3e1f7dd691a3cff591c240f.png](https://i-blog.csdnimg.cn/blog_migrate/c8be9e2f69ceface8b147d5baa720022.jpeg)
![115f0b8ee365db54ce64b5f5e553da87.png](https://i-blog.csdnimg.cn/blog_migrate/963188d76e4f5ad34153806c3a4fa629.jpeg)