最大公约数与公倍数

余生长醉 提交于 2020-02-08 23:03:28

输入两个正整数,求它们的最大公约数与最小公倍数。

Input输入两个正整数,两个整数之间用空格分开。

数据保证在 int 范围内。
Output第一行输出最大公约数;

第二行输出最小公倍数。
#include<stdio.h>
#define max(a,b)(a>b)?a:b
#define min(a,b)(a<b)?a:b

int main()
{
int a, b, c, n, m;
scanf("%d %d", &a, &b);
n=max(a,b);
m=min(a,b);
while(n%m!=0)
{
c=n%m;
n=m;
m=c;
}\取最大公约数m
printf("%d\n", m);
printf("%d\n", ab/m);\取最大公倍数
return 0;
}
总结:
1.取最小公约数,注意最大值除最小值,故需判断大小,用define定义即可。
2.最大公倍数=a
b/最大公约数。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!