狼找兔子 时间限制: 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);
}
}
}