有3堆硬币,分别是3,4,5
二人轮流取硬币。
每人每次只能从某一堆上取任意数量。
不能弃权。
取到最后一枚硬币的为赢家。
求先取硬币一方有无必胜的招法。
public class L3_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = { 2, 5, 12, 14 };
f(a);
}
public static void f(int[] a) {
int sum = 0;
for (int i = 0; i < a.length; i++) {
sum = sum ^ a[i];
}
if (sum == 0) {
System.out.println("必输");
return;
} else {
for (int i = 0; i < a.length; i++) {
int x = sum ^ a[i];
if (x < a[i]) {
System.out.println("可以赢");
System.out.println(a[i] + "-->" + x);
}
}
}
}
}