原理:通过循环语句找到递增/递减找到最大的约数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);//输入两个数
int i;
int min = 0;
int count = 0;
if (a > b)
{
min = b;
}
else
{
min = a;
}
//这块代码实现两个数大小的排序
for (i = min; i > 2; i--)
{
if (a % i == 0 && b % i == 0)
{
count = i;
break;
}
}
//这段代码的意思是:从较小数开始检验是否能整除
//如果找到了,就赋值给count,同时中止循环
printf("%d", count);
return 0;
}
- 我们通过递减的方法找到了最大公约数,是否能够通过递增的方法找到最小公约数呢?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);//输入两个数
int i;
int min = 0;
int count = 0;
if (a > b)
{
min = b;
}
else
{
min = a;
}
//这块代码实现两个数大小的排序
for (i = 2; i <max; i++)
{
if (a % i == 0 && b % i == 0)
{
count = i;
break;
}
}
//这段代码的意思是:从2开始检验是否能整除
//如果找到了,就赋值给count,同时中止循环
printf("%d", count);
return 0;
}