|
今天下去参加sinfor的笔试...归来,收获良多...好多东西还要好好学呀(指针, C++类的知识)...
顺便发一条题:
有1001个珠子,现在有两个人轮流拿,每次每个人可以拿1,or 2 or 4个.谁拿到最后的那个就输...问:如果你最先拿,那么你有没有必胜的把握?
我的想法是:先拿一个,然后看下次另一个人拿多少,如果他拿一个,那么我下次拿2个,如果他拿2个,那么我可以拿2个或者4个,如果他拿4个,那么我可以那2个.
做法是基于这样:因为1, 2, 4的组合(不算顺序)有{1,2}, {1,4}, {2,4},每次只有拿到3的倍数的话,那么最后剩下的肯定是一个1000-3N=1,当N取某个合法的值的时候.剩下的一个就是另一个人拿了,所以他会输...
不知道我的做法对不?大家探讨一下的说. 
题二:
一个进程如何保证运行的时候只有一个实例?(好像是这样吧...)
[ 本帖最后由 zaijzhgh 于 2008-10-15 22:06 编辑 ] |
|