狼找兔子
时间限制: 10000ms内存限制: 1024kB
描述
一座山周围有n个洞,顺时针编号为0,1,2,...n-1.
而一只狼从0号洞开始,顺时针方向计数,每遇到m个洞就进洞找兔子.例如n=5,m=3,狼经过的洞依次为0,3,1,4,2,0.那么兔子有没有幸免的机会?如果有,该藏在哪儿?
输入
n m (<2.1*10^9)
输出
若兔子有幸免的机会则输出所有可以藏身的洞,输出洞的个数,反之,输出-1。
样例输入
5 1
样例输出
-1
参考代码
/*
* wolf hunts rabbit 2011-10-2 12:24PM Eric Zhou
*/
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int a = cin.nextInt();
int b = cin.nextInt();
int v = a - a / gcd(a,b);
if(v == 0)
System.out.println(-1);
else
System.out.println(v);
}
private static int gcd(int a, int b) {
int max = Math.max(a, b);
int min = Math.min(a, b);
int mod = max % min;
if (mod == 0) {
return min;
}else {
return gcd(mod, min);
}
}
}