C语言狼追兔子问题

您所在的位置:网站首页 兔子猜那三个数字 C语言狼追兔子问题

C语言狼追兔子问题

2024-07-02 00:32| 来源: 网络整理| 查看: 265

一只兔子躲进了 10 个环形分布的洞的某一个,狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找,也没有找到,就隔两个洞,到第六个洞去找,以后每次多隔一个洞 去找兔子……这样下去,结果一直找不到兔子,请问:兔子可能躲在哪个洞中?

算法思想

对于本实例中提到的问题,虽然是“兔子可能躲在哪个洞中”,但是在考虑算法时,需要知道的是狼会去哪个洞找兔子,狼第一次去的洞是第一个(表示为 pos1),第二次去的是第三个(pos3),把它去的洞的代码用数字表示出来,可以推导出狼去的洞的代码是: pos(i+1)=pos(i)+i+1。 由题目可知,狼没有找到兔子,因此该算法会一直持续下去。除此之外,还需要注意的是,在 10 个洞之后,比如狼去找第十五个洞,但第十五个洞是不存在的,因此我们用 15 对 10 求余,得到的数字才是洞的标示。

程序代码 #include int main() { int i; bool pos[10]={0}; int lang=0; for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3