VC上的程序题

来源:百度知道 编辑:UC知道 时间:2024/06/09 14:43:07
有2个题
1.有65颗宝石,2个人来取,规则是每次必须且只能取1-3颗,取完后,手中为偶数的人取胜,求毕胜的求法
2.一做山上有9个洞,顺时针编号为1,2,……,n-1.
而一只狼从0号洞开始,顺时针方向计数,每遇到m个洞就进洞找兔子,例如n=5,m=3 狼经过的洞依次为0,3,1,4,2,0.
输入n,m试问兔子有没有幸免的机会?
n,m由scanf函数输入

本人是程序小白,大家帮帮我
我都想哭了
我一点都看不懂,能不能把程序列出来,我在+分

好像是数学问题,
1 后手有必胜策略
只有解法,不是程序,
设 o(n),e(n)代表n个时先手是否可以保证取得奇数,偶数(用1,0表示)
o(1)=1,e(1)=0//先手取一个,结束;
o(2)=1,e(2)=1//先手可以取1个或2个;后手没得选;
o(3)=1,e(3)=1//先手取3个,得奇数;取2个的偶数;
有了前三项下面就简单了:
n为大于2的偶数:
e(n-1),e(n-2),e(n-3)至少有1项=0
,那么先手就可以让后手保证不了偶数
,那后手只有取奇数了-〉先手也就是奇数//因为n是偶数!!
这样,o(n)=1,否则o(n)=0
类似的,o(n-1),o(n-2),o(n-3)至少有1项=0
e(n)=1,否则e(n)=0
n为大于3的奇数:
o(n-1),o(n-2),o(n-3)至少有1项=0
,那么先手就可以使后手保证不了奇数
,那么后手只有取偶数了-〉先手就能保证奇数//n是奇数!!
这样,o(n)=1,否则o(n)=0
同样,e(n-1),e(n-2),e(n-3)至少有1项=0
e(n)=1,否则e(n)=0

这样写下去,可以得到2个以8循环的数列
编程的时候,只要选择前3个中为零项就可以了
这样就解决了

2 if m,n最大公约数=1 兔子必死
else 兔子有机会
这个不用证明了吧

n是什么?洞数?前面说了9个洞
还有什么叫狼经过的洞依次为0,3,1,4,2,0.
每个洞都有兔子?