js求两个数的最大公约数和最小公倍数
时间: 2023-08-06 13:03:19 浏览: 68
求最大公约数可以使用辗转相除法,也称为欧几里得算法。具体实现如下:
```js
function gcd(a, b) {
while (b !== 0) {
let r = a % b;
a = b;
b = r;
}
return a;
}
```
求最小公倍数可以使用最大公约数来计算,公式为两数之积除以最大公约数。具体实现如下:
```js
function lcm(a, b) {
return (a * b) / gcd(a, b);
}
```
使用示例:
```js
console.log(gcd(24, 36)); // 输出 12
console.log(lcm(24, 36)); // 输出 72
```
注意:以上代码实现中,未对输入参数进行类型检查和异常处理,如果需要在生产环境中使用需要加入这些逻辑。
相关问题
js求两个数的最大公约数和最小公倍数 提供十种方案
以下是十种不同的 JavaScript 方案,用于求两个数的最大公约数和最小公倍数:
1. 使用 while 循环和取模运算符(最大公约数):
```js
function gcd(a, b) {
while (b !== 0) {
let t = b;
b = a % b;
a = t;
}
return a;
}
```
2. 使用递归和取模运算符(最大公约数):
```js
function gcd(a, b) {
return b === 0 ? a : gcd(b, a % b);
}
```
3. 使用 for 循环和取模运算符(最大公约数):
```js
function gcd(a, b) {
for (let i = Math.min(a, b); i >= 1; i--) {
if (a % i === 0 && b % i === 0) {
return i;
}
}
}
```
4. 使用 while 循环和乘法运算符(最小公倍数):
```js
function lcm(a, b) {
let i = 1;
while (true) {
const m = a * i;
if (m % b === 0) {
return m;
}
i++;
}
}
```
5. 使用 for 循环和乘法运算符(最小公倍数):
```js
function lcm(a, b) {
for (let i = Math.max(a, b); i <= a * b; i++) {
if (i % a === 0 && i % b === 0) {
return i;
}
}
}
```
6. 使用 while 循环、取模和除法运算符(最大公约数):
```js
function gcd(a, b) {
let r = a % b;
while (r !== 0) {
a = b;
b = r;
r = a % b;
}
return b;
}
```
7. 使用递归、取模和除法运算符(最大公约数):
```js
function gcd(a, b) {
return b === 0 ? a : gcd(b, a / b | 0);
}
```
8. 使用 while 循环、乘法和除法运算符(最小公倍数):
```js
function lcm(a, b) {
let m = Math.max(a, b);
while (m % a !== 0 || m % b !== 0) {
m++;
}
return m;
}
```
9. 使用 for 循环、乘法和除法运算符(最小公倍数):
```js
function lcm(a, b) {
for (let i = Math.max(a, b); i <= a * b; i++) {
if (i % a === 0 && i % b === 0) {
return i;
}
}
}
```
10. 使用 ES6 的箭头函数和逗号运算符(最大公约数和最小公倍数):
```js
const gcd = (a, b) => b === 0 ? a : gcd(b, a % b);
const lcm = (a, b) => a * b / gcd(a, b);
```
js输入两个正整数m和n,求其最大公约数和最小公倍数
假设输入的两个整数为m和n,求它们的最大公约数和最小公倍数。
最大公约数可以用辗转相除法求得,即用大数除以小数取余数,再用前一个小数去除这个余数,继续取余数,直到余数为0,被除数即为最大公约数。最小公倍数可以用两数乘积除以最大公约数求得。
注:b'js\xe8\xbe\x93\xe5\x85\xa5\xe4\xb8\xa4\xe4\xb8\xaa\xe6\xad\xa3\xe6\x95\xb4\xe6\x95\xb0m\xe5\x92\x8cn\xef\xbc\x8c'为Python字节码格式的字符串,需要运行在Python环境下解码才能得到真实字符串。
阅读全文