Ejemplo n.º 1
0
 public fraction add(fraction x) {
   BigInteger gcd = den.gcd(x.den);
   BigInteger A = x.den.divide(gcd);
   BigInteger B = den.divide(gcd);
   BigInteger newNum = num.multiply(A).add(x.num.multiply(B));
   BigInteger newDen = den.multiply(A);
   fraction t = new fraction(newNum, newDen);
   t.fix();
   return t;
 }
Ejemplo n.º 2
0
 private void fix() {
   BigInteger gcd = num.gcd(den);
   if (gcd.compareTo(BigInteger.ONE) > 0) {
     num = num.divide(gcd);
     den = den.divide(gcd);
   }
   if (den.compareTo(BigInteger.ZERO) < 0) {
     num = num.negate();
     den = den.negate();
   }
 }
Ejemplo n.º 3
0
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    boolean blank = false;

    while (scanner.hasNextBigInteger()) {
      if (blank) {
        System.out.println();
      } else {
        blank = true;
      }
      BigInteger a = scanner.nextBigInteger();
      BigInteger b = scanner.nextBigInteger();
      System.out.println(a.gcd(b));
    }
  }
 long gcd(long a, long b) {
   BigInteger x = BigInteger.valueOf(a);
   BigInteger y = BigInteger.valueOf(b);
   return x.gcd(y).longValue();
 }