【Java8】最大公約数・最小公倍数
ユークリッドの互除法
public class Main { public static void main(String[] args) { //2つの数の最大公約数 long a = 36; long b = 27; long gcd = gcd(a, b); System.out.println(gcd); //2つの数の最小公倍数 long lcm = a * b / gcd; System.out.println(lcm); } static long gcd(long a, long b) { long ans = 0; while(true) { if(a == b) { ans = a; break; } else if(a > b) { long tmp = a-b; a = b; b = tmp; } else if(a < b) { long tmp = b-a; a = a; b = tmp; } } return ans; } }
実行結果
9
108