解题思路:最大公约数,从大递减,求余同为0。
注意事项: 输入判定,“正”,“整数” 。
参考代码:
// 1011 #include <stdio.h> int main(void) { int m, n, i, j, a; while (1) { if (scanf("%d %d", &m, &n) == 2 && (m >= 0 && n >= 0)) //如果输入的是正整数 break; //不是负数也不是字符 else //则进行运算,否则重输 fflush(stdin); } a = (m <= n) ? m : n; for (i = a; i >= 1; i--) if ( m % i == 0 && n % i ==0) { printf("%d ", i); j = m * n / i; printf("%d",j); break; } return 0; }
0.0分
0 人评分