C语言刷题随记 —— 求最大公约数与最小公倍数_最小公倍数

\

文章目录

  • 题目
  • 思路
  • 题解
  • 样例输出

题目

输入两个正整数 m 和 n,求其最大公约数和最小公倍数。

C语言刷题随记 —— 求最大公约数与最小公倍数_最大公约数_02

思路

利用辗转相除法即可解出此题。

题解

#include <stdio.h>


int main()
{
    int a,b,num1,num2,temp;

    printf("请输入两个数字:\n");
    scanf("%d %d",&num1,&num2);

    if(num1)
    {
        temp=num1;
        num1=num2;
        num2=temp;
    }

    a=num1;b=num2;

    while(b!=0)     //利用辗除法,直到 b 为 0 为止
    {
        temp=a%b;
        a=b;
        b=temp;
    }

    printf("最大公约数为:%d\n",a);
    printf("最小公倍数为:%d\n",num1*num2/a);

}

样例输出

C语言刷题随记 —— 求最大公约数与最小公倍数_辗转相除法_03

C语言刷题随记 —— 求最大公约数与最小公倍数_辗转相除法_04

C语言刷题随记 —— 求最大公约数与最小公倍数_最小公倍数_05