歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java程序練習-狼找兔子

狼找兔子
時間限制: 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
參考代碼

  1. /* 
  2.  * wolf hunts rabbit 2011-10-2 12:24PM Eric Zhou 
  3.  */  
  4. import java.util.Scanner;  
  5. public class Main {  
  6.     public static void main(String[] args) {  
  7.         Scanner cin = new Scanner(System.in);  
  8.         int a = cin.nextInt();  
  9.         int b = cin.nextInt();  
  10.         int v = a - a / gcd(a,b);  
  11.         if(v == 0)  
  12.             System.out.println(-1);  
  13.         else  
  14.             System.out.println(v);  
  15.     }  
  16.     private static int gcd(int a, int b) {  
  17.         int max = Math.max(a, b);  
  18.         int min = Math.min(a, b);  
  19.         int mod = max % min;  
  20.         if (mod == 0) {  
  21.            return min;  
  22.         }else {  
  23.            return gcd(mod, min);  
  24.         }  
  25.     }  
  26. }  
Copyright © Linux教程網 All Rights Reserved