作业帮 > 综合 > 作业

输入两个正整数m和n,输出它们的最小公倍数和最大公约数.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 08:51:09
输入两个正整数m和n,输出它们的最小公倍数和最大公约数.
#include
int main(void)
{
int m,n,j,k;
int repeat,ri;
scanf("%d",&repeat);
for(ri = 1; ri
#include
int main()
{
//这是逻辑很简单的一种实现,不过效率很低,不推荐,但是可以作为参考
int p=0,q=0;
//这是需要做求他们公约数和公倍数的两个数据
int m=-1,n=-1;
//m,公约数;n,公倍数;设置初始值为-1是有考虑的.
int i=0;
//兼具循环控制和传值两个功能;

printf("输入要计算他们公约数和公倍数的两个整数\n");
scanf("%d",&p);
scanf("%d",&q);
for(i=p>q?q:p ; i>=1; --i )
{
if(p%i==0) //i是p的约数;
{
if(q%i==0) //i也是q的约数;
{
m=i;
break;
}
}
}
n=p*q/m;
printf("%d和%d的最大公约数是%d,最小公倍数是%d",p,q,m,n);
return 0;
}
//这是穷举法,从两个数中较小的那个数逐一尝试,是一种直观的实现方法.条试过了,可以运行正确.