7.8
输入两个正整数,输出其中最大公约数和最小公倍数。
- 求p和q的最大公约数的欧几里德算法:
(1)输入p和q(p>q)
(2)计算p和q的余数r
(3)r=0时,q即为最大公约数,转第(4)步
否则,令p=q,q=r,继续执行第(2)步
(4)输出q - p和q的最小公倍数为p乘以q再除以它们的最大公约数。
如输入:
15,25
则输出:
最大公约数是5
最小公倍数是75
样例输入:
5,7
样例输出:
最大公约数是1
最小公倍数是35
#include<stdio.h>
int main()
{
int p, q, r,s,t;
scanf("%d,%d", &p, &q);
s = p * q;
while (p%q != 0)
{
r = p % q;
p = q, q = r;
}
printf("最大公约数是%d\n", q);
t = s / q;
printf("最小公倍数是%d", t);
system("pause");
return 0;
}