[Java] BigInteger 최대공약수 gcd 최소공배수 lcm 구하기 FeliZ_하늘.. 2016. 2. 22. 16:37 반응형 /** * a > b */ public static int gcd(int a, int b) { return gcd(new BigInteger(String.valueOf(a)), new BigInteger(String.valueOf(b))).intValue(); } public static int gcd2(int a, int b) { return b == 0 ? a : gcd2(b, a % b); } public static long gcd(long a, long b) { return gcd(new BigInteger(String.valueOf(a)), new BigInteger(String.valueOf(b))).longValue(); } public static BigInteger gcd(BigInteger a, BigInteger b) { return a.gcd(b); } public static int lcm(int a, int b) { return lcm(new BigInteger(String.valueOf(a)), new BigInteger(String.valueOf(b))).intValue(); } public static int lcm2(int a, int b) { return a * b / gcd2(a, b); } public static long lcm(long a, long b) { return lcm(new BigInteger(String.valueOf(a)), new BigInteger(String.valueOf(b))).longValue(); } public static BigInteger lcm(BigInteger a, BigInteger b) { return a.multiply(b).divide(a.gcd(b)); } 반응형 저작자표시 변경금지 (새창열림)