#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
//#include <sys/wait.h>
int main() {
int m, n, r;
scanf("%d %d", &m, &n);
if (m > n) {
m = n ^ m;
n = m ^ n;
m = m ^ n;
}
while (m) {
r = n % m;
n = m;
m = r;
}
printf("greatest common divisor %d\n", n);
}
package org.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
System.out.println(gcd(m, n));
}
public static int gcd(int m, int n) {
if (m > n) {
m = n ^ m;
n = m ^ n;
m = m ^ n;
}
int t = n % m;
if (t == 0)
return m;
else
return gcd(m, t);
}
}
def gcd(m: int, n: int) -> int:
if m > n:
m, n = n, m
while n - m != m:
t = n - m
m, n = m, t if m < t else (t, m)
return m
# 1、48和54
# 48=2*2*2*2*3
# 54=2*3*3*3
# 48和54的最大公约数是:2*3=6
# 2、32和96
# 32=2*2*2*2*2
# 96=2*2*2*2*2*3
# 32和96的最大公约数是:2*2*2*2*2=32
# 3、120、180、210
# 120=2*2*2*3*5
# 180=2*2*3*3*5
# 210=2*3*5*7
# 120、180和210的最大公约数是:2*3*5=30
def hcf(a, b):
def decomposite_prime_factor(x):
i = 2 # 1 is not prime number, so start from 2
t = []
def coolie():
nonlocal i, x
if x % i == 0:
x //= i
t.append(i)
coolie()
else:
if x == 1:
return None
i += 1
coolie()
coolie()
return t
l0 = decomposite_prime_factor(a)
l1 = decomposite_prime_factor(b)
l2 = []
for i in l0:
for j in l1:
if i == j:
l2.append(i)
l1.remove(i)
break
n = 1
for v in l2:
n *= v
print('greatest common divisor ({},{}):{}'.format(a, b, n))
hcf(24, 60)
function lcm(m, n) {
if(m > n) {
[m, n] = [n, m]
}
let t = n
while(!(t % m === 0 && t % n === 0)) {
t += m
console.log(`\x1b[7m${t}\x1b[0m`)
}
return t
}
console.log(`\x1b[7mLeast common multiple: ${lcm(2, 3)}\x1b[0m`)