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