嗯,楼上的做法不错。
我来说说用数论怎么解这东西:
(gcd(m,n)表示求m、n的最大公约数)
我们不妨让兔子躲在一号洞。因为若狼能从0号洞到达1号洞,则它必能从1号洞到达2…n-1号洞,兔子难逃厄运。反过来说.若有安全洞,则1号洞就是其中的一个。
再来看狼的运动。狼的第i次运动后的洞址应是(m*5)mod n(i为正整数)。若(m*i)mod n=1,即狼第i次运动后到达1号洞,则gcd(m,n)=1。因为若gcd(m,n)=k>1,则由(m'*k*i)mod(n'*k)=1,(设m'*k=m,n'*k=n).m'*k*i-[(m'*k*i)/(n'k)]*(n'*k)=1,得出k整除1,与k>1矛盾。而若gcd(m,n)=1,则那么一定存在i使(m*i)mod n=1,因而兔子幸免的条件为gcd(m,n)>1。在此情况下.它应选择除{i*gcd(m,n)|i=0...(n/gcd(m,n)-1)}外的洞躲藏。
|