/*
求两个数 m 和 n 的最大公约数
*/
- #include <stdio.h>
- int main() {
- int m, n ;
- int temp ;
- printf("请输入两个数:");
- scanf("%d%d",&m,&n);
- printf("m = %d,n = %d\n",m,n);
-
- if (m > n) { //m中存放的是较小数 ,n存放的是较大的数
- temp = n ;
- n = m ;
- m = temp;
- }
-
- int div ; //保存最大公约数
-
- // 最大公约数肯定是小于或等于 m,n中最小者
- for (div = m; div > 0; div--) {
-
- //当首次同时满足,m,n整除 div 的时候,循环终止,此时div就是m,n的最大公约数。
- if (m % div == 0 && n % div == 0) {
- break;
- }
-
- }
- printf("m 和 n 的最大公约数是:%d\n",div);
-
- return 0 ;
- }
复制代码 |