Groovy: 약간의 대수, 최대공약수와 최소공배수
게시: 13 August 2019
PPMC
AlgebraUtils.groovy
package com.cheroliv.misc
import groovy.transform.CompileStatic
@CompileStatic
class AlgebraUtils {
/**
* Great common divisor
* Plus grand commun diviseur(pgcd)
* Great Common Divisor
* @param a
* @param b
* @return
*/
static Integer gcd(Integer a, Integer b) {
!b ? a : gcd(b, a % b)
}
/**
* Least common multiple
* Plus petit commun multiplicateur(ppmc)
* @param a
* @param b
* @return
*/
static BigInteger lcm(Integer a, Integer b) {
(a * b / gcd(a, b)) as BigInteger
}
static void main(String... args) {
Integer a = 96
Integer b = 28
println "gcd($a, $b) = ${gcd(a, b)}"
a = 790
b = 990
println "lcm($a, $b) = ${lcm(a, b)}"
}
}
결과:
gcd(96, 28) = 4 최소공배수(790, 990) = 78210
관련 기사
HyperFrames-Gradle : AsciiDoc을 MP4 비디오로 변환
31 May 2026
31 May 2026
아키텍처 « 독립 플러그인 + 소비자 루트 » : 왜 내 Gradle 빌드가 중복되는가
14 May 2026
14 May 2026