神奇的“狼抓兔子”(absolute security Place)

Posted 梦幻精灵_cq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神奇的“狼抓兔子”(absolute security Place)相关的知识,希望对你有一定的参考价值。

   在做“狼抓兔子”的练习题目的时候,发现一个神奇的Place。🤗🤗
  费力鼓捣出了代码吧,好像不对,怎么存在永远碰不到的地方!?怀疑代码有事儿,仔细勘察,虽然代码可读性不高,但算法好像真的是那个样子。通过笨办法用笔在纸上一次次模拟查找验证,还直的是,演算到第二十一次——结果正确!🤓🤓(下面贴出我的代码)

  1. 题目
  2. 代码运行效果
  3. 勘察bug
  4. 完整代码

练习题目


回首页

代码运行效果

最初鼓捣的代码

#/sur!bin/nve python
# coding: utf-8


#设置10个围成一圈的兔子窝为数列,想象她首尾相接
rabbit = [0 for i in range(10)]
n = n2 = 10 #n为狼追查次数
step = list(range(n)) #查看兔子窝间隔数
start = 0
k = 0
while n:
    rabbit[(start+k)%10] = 1 #标识已找过兔子窝
    #print(f'\\n\\n查兔子窝序号:(start+k)%10')
    start = start + k + 1 #当前兔子窝占位+1
    #print(f'\\nstart:start\\nk:k\\nn:n')
    k += 1
    n -= 1
    #print(f'Start:start,取10的余:start%10\\n')
    #input(f'\\n兔子窝:\\n rabbit')
input(f'\\n狼追查n2次后的兔子窝:\\n rabbit')

勘察错误

代码运行验证效果

查找7次之后就是无谓的循环了,找的都是查过的地方。


哪怕百万次查找,依然动摇不了安全的地方。😋😋

  我的感悟:在任何规则下,都有可能存在绝对安全的地方。(absolute security Place)🧐


python完整代码

#/sur!bin/nve python
# coding: utf-8


#优化后的代码
def wolf_scratch_rabbit(n):
    '''狼抓兔,n为查窝次数'''
    #设置10个围成一圈的兔子窝为数列,想象她首尾相接
    rabbit = [0 for i in range(10)]
    scratch = 1 #查窝次数初始
    count = 1 #遍历兔子窝计数
    while True:
        rabbit[count%10-1] = 1 #查看过的兔子窝用'1'标识
        if scratch==n: #当查窝次数用完,停止查窝
            break
        count += scratch + 1  #更新计数
        #下次查窝间隔即为当前查窝次数,未计入当前窝,所以计数+1
        scratch += 1 #查窝次数更新
    return rabbit #返回当前兔子窝状况


if __name__=='__main__':
    while True:
        try:
            n = int(input(f'\\n\\n        查窝次数:')) #查窝次数设置
            break
        except Exception as error:
            input(f'\\n\\n" "*16"输入错误!"\\n\\nerror')
            continue
    rabbit = wolf_scratch_rabbit(n)
    print(f"\\n\\n'﹊'*21")
    print(f'狼找兔子n次后的兔子窝状况:\\n\\nrabbit')
    print('﹊'*21)
    #安全窝打印
    print('安全窝位置:')
    print('        ', end='')    
    k = 0
    for i in rabbit[:]:
        if i==0:
            print(k, end='  ')
        k += 1
    print(f"\\n'﹊'*21")

回首页

我的博文推荐:

推荐条件: 点阅破千

参考文章:


上一篇:车辆号牌生成
下一篇:练习:字符串统计


回首页

精品文章:

来源:老齐教室


以上是关于神奇的“狼抓兔子”(absolute security Place)的主要内容,如果未能解决你的问题,请参考以下文章

[BeiJing2006]狼抓兔子

BZOJ1001 [BeiJing2006]狼抓兔子

[BZOJ1001][BeiJing2006]狼抓兔子

BZOJ1001: [BeiJing2006]狼抓兔子

BZOJ 1001: [BeiJing2006]狼抓兔子

bzoj1001狼抓兔子