题目链接:http://codeforces.com/problemset/problem/119/A
import java.util.Scanner;
public class EpicGame {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int n = scanner.nextInt();
int count = 0;
while(true) {
int temp = gcd(a, n);
if(temp > n) {
break;
} else {
count++;
n -= temp;
}
temp = gcd(b, n);
if(temp > n) {
break;
} else {
count++;
n -= temp;
}
}
if(count % 2 == 0) {
System.out.println(1);
} else {
System.out.println(0);
}
}
public static int gcd(int a,int b) {
while(b > 0) {
int r = a % b;
a = b;
b = r;
}
return a;
}
}
本文解析了Codeforces上的一道竞赛题,通过实现一个名为EpicGame的Java程序来解决该问题。程序使用了辗转相除法求最大公约数,并通过循环判断两个玩家轮流操作直至无法继续的情况,最终确定胜者。
1807

被折叠的 条评论
为什么被折叠?



