oj上的题,虽然及其不愿意去写,可是为了考试,还是要去写一下
在电路板上以两个不等的正数(M,N和M> N)开始。两名球员依次移动。在每次移动中,玩家必须在棋盘上写上一个正数,该数字等于棋盘上已有的两个数字的差值; 这个数字必须是新的,即与主板上已有的所有数字不同。无法移动的玩家输掉游戏。你应该选择在这场比赛中第一或第二名?
根据以上规则,有两名玩家玩游戏。假设A首先在板上写一个数字,然后B写它。
你的任务是写一个程序来判断胜利者是A还是B.
输入
两个不等的正数M和N,M> N(M <1000000)
输出
A或B.
根据题意,则是需要求两个数的最大公约数,表示能够写出的两个数的差值个数
#include<stdio.h>
int gcd(int a,int b)
{
int c;
while(c)
{
c=a%b;
a=b;
b=c;
}
return a;
}
int main()
{
int a,b;
if((a/gcd(a,b))%2==0)
{
printf("B\n");
}
else
{
printf("A\n");
}
return 0;
}