#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int min(int x, int y) //先定义一个min函数
{ if (x > y)
return y;
if (x <= y)
return x;
}
int main()
{
printf("请输入两个数字\n");
int m, n;
scanf("%d%d", &m, &n);
int i;
i = min(m, n);
for (i > 0;i--;)//此处是按照递减的顺序逐步找出最大公约数
if (m % i == 0&&n % i == 0) {
printf("%d和%d的最大公约数是%d", m, n, i);
break;//找到就跳出循环
}
}
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个
ps:可以先设定min函数,也可以用if语句平替
本人小白一个,如果觉得代码繁琐勿锤
(如果大佬们有更加简洁的代码,欢迎在评论区分享)
---------------------------------------------------------------------------------------------------------------------------------
2022.10.10
更加简洁的方法:辗转相除法
int main()
{
int m;
int n;
int r = 0;
scanf("%d%d", &m, &n);
while (m % n)
{
r = m % n;
m = n;
n = r;
}
printf("%d\n", n);
return 0;
}