3つ以上の整数の最大公約数・最小公倍数を求める JavaScript
約 2 分
目次
概要
JavaScriptで3つ以上の整数の最大公約数・最小公倍数を求める時のメモ。スニペット。 どちらもユークリッド互除法を利用しています。
AtCoderとかで役に立ちます。
最大公約数
2つの整数の最大公約数を求める
function gcd(a, b) {
if (b === 0) {
return a;
}
return gcd(b, a % b);
}
console.log(gcd(10, 25));
// 5
3つ以上の整数の最大公約数を求める
function gcd() {
var f = (a, b) => b ? f(b, a % b) : a;
var ans = arguments[0];
for (var i = 1; i < arguments.length; i++) {
ans = f(ans, arguments[i]);
}
return ans;
}
console.log(gcd(10, 20, 30, 100));
// 10
最小公倍数
2つの整数の最小公倍数を求める
function lcm(a, b) {
var g = (n, m) => m ? g(m, n % m) : n;
return a * b / g(a, b);
}
console.log(lcm(24, 18)); // 72
3つ以上の整数の最小公倍数を求める
function lcm() {
var a = arguments;
var g = (n, m) => m ? g(m, n % m) : n;
var l = (n, m) => n * m / g(n, m);
var ans = a[0];
for (var i = 1; i < a.length; i++) {
ans = l(ans, a[i]);
}
return ans;
}
console.log(lcm(24, 18, 36)); // 72おすすめの記事
最新の記事
よく読まれている記事
タグから探す
- javascript130
- typescript67
- node.js54
- linux54
- 画像処理48
- amazon-aws48
- アルゴリズム37
- canvas35
- html529
- 画像処理100本ノック27
- php24
- centos24
- python22
- 競技プログラミング21
- mac21
- mysql20
- opencv17
- 雑談16
- 機械学習16
- docker16
- wordpress15
- atcoder14
- apache12
- データベース12
- amazon-s312
- red-hat12
- prisma12
- ubuntu11
- github10
- git10
- react10
- mariadb10
- vue.js9
- next.js9
- aws-cdk9
- css38
- 可視化8
- 小ネタ8
- nestjs8
- amazon-lightsail7
- ブログ6
- cms6
- oracle6
- perl6
- gitlab6
- iam5
- amazon-ec25
- 資格試験5
- aws-amplify5
- curl4