当前位置: 代码迷 >> 综合 >> ACM基础之最大公约数、最小公倍数
  详细解决方案

ACM基础之最大公约数、最小公倍数

热度:63   发布时间:2024-01-12 15:56:25.0

文章目录


最大公约数Greatest Common Divisor(GCD)

// 用于swap()
#include <iostream>
using namespace std;int GCD(int a, int b)
{
    if (a < b){
    swap(a, b);}while (a % b != 0){
    int temp;temp = a % b;a = b;b = temp; //当a%b=0时,b是最大公约数}return b;
}

推荐:

// 用于swap()
#include <iostream>
using namespace std;int Division(int a, int b)
{
    if (a < b){
    swap(a, b); //a要大于等于b}while (b != 0){
    int temp;temp = a % b;a = b;b = temp; //当a%b=0时,a是最大公约数,b是相除到0}return a;
}

Least Common Multiple
最小公倍数=原数a*原数b/最小公约数。

// 用于swap()
#include <iostream>
using namespace std;int GCD(int a, int b)
{
    if (a < b){
    swap(a, b); //a要大于等于b}while (b != 0){
    int temp;temp = a % b;a = b;b = temp; //当a%b=0时,a是最大公约数,b是相除到0}return a;
}int LCM(int a, int b)
{
    return a * b / GCD(a, b);
}
  相关解决方案