Bash でユークリッド互除法
ユークリッド互除法のアルゴリズム
- A と B の余り C
- B と C の余り D
-
C と D の余り E
…
-
X と Y の余り 0
となったときの Y の値が最大公約数。
Bash のスクリプト
#!/usr/bin/env bash
function gcd(){
test $2 -eq 0 && echo $1 || gcd $2 $(($1 % $2))
}
gcd 1071 1029
# 21
C と D の余り E
…
X と Y の余り 0
となったときの Y の値が最大公約数。
#!/usr/bin/env bash
function gcd(){
test $2 -eq 0 && echo $1 || gcd $2 $(($1 % $2))
}
gcd 1071 1029
# 21