第1个回答 2019-09-13
#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);
...展开#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;
}
//这是穷举法,从两个数中较小的那个数逐一尝试,是一种直观的实现方法。条试过了,可以运行正确。收起