算法:狐狸吃兔子问题(约瑟环)

本文探讨了一道有趣的算法问题——狐狸如何按照约瑟环规律寻找兔子。兔子提出,狐狸从10号洞开始,按编号间隔1、2、3...的方式寻找。如果狐狸找不到兔子,它会累倒在某个洞里。问题求解了兔子可能躲藏的洞穴及狐狸最后所在的位置。给出的C语言代码实现了这一逻辑,并通过样例输入展示了结果的输出形式。
摘要由CSDN通过智能技术生成

围绕着山顶有10个洞,一只狐狸和一只兔子各住一个洞。狐狸总想吃掉兔子。一天兔子对狐狸说:“你想吃我有一个条件,先把洞从1~10编上号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依此类推,次数不限。若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。”狐狸满口答应就开始找了,它从早到晚找了N次洞,累得昏了过去也没有找到兔子。请问,狐狸昏倒在哪一个洞里?免子可能躲在哪些洞里?

输入

输入一个正整数N(1<=N<=1000)

输出

第一行:输出兔子可以躲在的洞的编号 第二行:狐狸昏倒时所在洞的编号

样例输入 3
样例输出
2 4 5 7 8 9 10
6

分析:

  1. d1 = 1 => 1
  2. d2 = 1 + 2 => 3
  3. d3 = 3 + 3 => 6
  4. d4 = 6 + 4 => 10
  5. d5 = 10 + 5 => 15 => 5
  6. d6 = 5 + 6 => 11 => 1
    …….
    以此类推
    可以得出 dn = (n-1+n) %10
    代码如下:

                
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值