溫馨提示×

c語言求最小公倍數的方法有哪些

小億
557
2023-08-09 05:46:42
欄目: 編程語言

在C語言中,求最小公倍數的方法有以下幾種:

  1. 暴力法:從1開始逐個嘗試兩個數的倍數,直到找到它們的公倍數。
int lcm(int a, int b)
{
int max = (a > b) ? a : b;
int lcm = max;
while (1)
{
if (lcm % a == 0 && lcm % b == 0)
break;
lcm += max;
}
return lcm;
}
  1. 輾轉相除法:利用兩個數的最大公約數來求最小公倍數。最小公倍數等于兩數的乘積除以最大公約數。
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}
  1. 窮舉法:通過遍歷所有可能的公倍數,比較大小,找出最小的公倍數。
int lcm(int a, int b)
{
int max = (a > b) ? a : b;
int lcm = max;
while (1)
{
if (lcm % a == 0 && lcm % b == 0)
break;
lcm += max;
}
return lcm;
}
  1. 使用最小公約數的性質:最小公倍數等于兩數乘積除以最大公約數。
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
int lcm(int a, int b)
{
return (a * b) / gcd(a, b);
}

這些方法都可以用來求解最小公倍數問題,具體使用哪種方法可以根據具體情況選擇。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女