数论基础——计算最大公约数和最小公倍数

  1. 知识简介
    什么是最大公约数,什么又是最小公倍数呢?
    | 代表的是 / 除法简介
    下面把求最大公约数称为gcd,求最小公倍数称为lcm,他们有什么性质?
    在这里插入图片描述
  2. 算法证明原理
    从1可知,我们求出最大公约数gcd就可以通过公式lcm = (a * b) / gcd即能得到最小公倍数了,那么我们介绍一种常用的求最大公约数的方法,那就是欧几里得算法
    在这里插入图片描述
  3. 例题
    这里给出题目地址:
    简单基础gcd例题
    在这里插入图片描述

AC Code:

//
// Created by Acmer_ly on 2020/3/14.
//习题4-7 最大公约数和最小公倍数 (15分)
#include <stdio.h>
int gcd(int m, int n);
int lcm(int m, int n);

int main(void) {
    int m, n;
    scanf("%d%d", &m, &n);
    printf("%d %d\n", gcd(m, n), lcm(m, n));
    return 0;
}

int gcd(int m, int n) {
    if (n == 0) return m;
    return gcd(n, m % n);
}
int lcm(int m, int n) {
    return (m * n) / gcd(m, n);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章