最大公约数就是两个或几个数可以相除的最大整数,那么我们可以用C语言来解决这个问题
代码如下
方法一,for循环
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
printf("请输入两个整数\n");
scanf_s("%d %d", &a, &b);
//假设公约数就是两个数中较小的那个
//然后总后往前试除,直到找到为止
int max = 0;
max = a < b ? a : b; //这里用了一个条件判断语句
int i = 0;
for (i = max; i >= 1; i--)
{
if (a % i == 0 && b % i == 0) //当两个整数都除以那个数为0是就找到了最大的公因数
{
printf("两个数的最大公约数是%d", i);
break; //找到后用break语句跳出循环
}
}
return 0;
}
方法二:while循环
while循环采用的方法也是和上面的代码一样的道理
#include<stdio.h>
int main()
{
int m = 0;
int n = 0;
scanf_s("%d%d", &m, &n);
int max = 0;
//假设最大公约数max就是m和n的较小值
max = n < m ? n : m;
while (1)
{
if (m % max == 0 && n % max == 0)
{
printf("最大公约数是%d", max);
break;
}
max--;
}
return 0;
}