Here you can find the source of gcd(int a, int b)
Parameter | Description |
---|---|
a | the first integer. |
b | the second integer. |
public static int gcd(int a, int b)
//package com.java2s; /*/*from w w w. j a v a 2 s . c o m*/ * $Id: Util.java 169 2011-03-03 18:45:00Z ahto.truu $ * * * * Copyright 2008-2011 GuardTime AS * * This file is part of the GuardTime client SDK. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { /** * Computes the greatest common divisor (GCD) of two integers. * <p> * Greatest common divisor is the largest integer that divides both numbers * without remainder. * * @param a * the first integer. * @param b * the second integer. * @return the greatest common divisor of {@code a} and {@code b}, or * {@code 0}, if both {@code a} and {@code b} are {@code 0}. */ public static int gcd(int a, int b) { a = Math.abs(a); b = Math.abs(b); while (a > 0) { int c = b % a; b = a; a = c; } return b; } }