解题思路:用草稿研究的 , 适合初学者!想象一个数(变量)按顺序不断同时!求余a和b(==0)得出来的那一个数!就是最大公约数了(max=i);同理如果你知道最小公倍数的定义 这个变量就不断按a和b的倍数变化 要逆着数的顺序想(因为是要求出最小公倍数嘛!上面的最大公约数就按着数字的正序!)所以我的for()你看懂了吗?
还有if() 用的有个嵌套 循环嘛
注意事项:i不能为0的 求的是公约数和公倍数!试着带进去看就知道错误了~!
参考代码:
#include<stdio.h>
int main()
{
int a,b,max,min;
scanf("%d %d",&a,&b);
for(int i=1;i<1000;i++)
{
if(a%i==0&&b%i==0)
{
max=i;
}
}
printf("%d ",max);
for(int i=1000;i>=1;i--)
{
if(i%a==0&&i%b==0)
{
min=i;
}
}
printf("%d",min);
}
0.0分
4 人评分