题目要求:输入两个数,求最大公约数。
分析:程序逆序输出,两个数第一次同时能被i整除时,这时的i就是要找的最大公约数。
#include <stdio.h>
int main()
{
int m = 0;
int n = 0;
int i = 0;
printf("enter m and n:");
scanf("%d%d", &m, &n);
for(i = m < n ? m : n; i >= 1; i--) //从小的那个开始找,确保两个数都能满足而且得到的i是最大的公约数,循环一次减1,并保证i大于等于1//
{
if(m % i == 0 && n % i == 0) //当两个数第一次同时能被i整除时,这时的i就是要找的最大公约数//
break;
}
printf("%d\n", i);
return 0;
}