![在这里插入图片描述 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);
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
样例输出
![在这里插入图片描述 C语言刷题随记 —— 求最大公约数与最小公倍数_最小公倍数_03]()
![在这里插入图片描述 C语言刷题随记 —— 求最大公约数与最小公倍数_最小公倍数_04]()
![在这里插入图片描述 C语言刷题随记 —— 求最大公约数与最小公倍数_算法_05]()