代码:
1 public class Hello { 2 3 /** 4 * @param args 5 */ 6 public static void main(String[] args) { 7 int a = 1112; 8 int b = 208; 9 int e = 546800;10 int f = 256400;11 int c = 1;12 int min = (a < b ? a : b);13 int min2 = (e < f ? e : f);14 for(int i = 1; i <= min; i++){15 if(a % i == 0 && b % i == 0)16 c = i;17 }18 System.out.println(c);19 for(int i = min2; i >= 1; i--){20 if(e % i == 0 && f % i == 0){21 c = i;22 break;23 }24 }25 System.out.println(c);26 }27 }
结果:一种是从小到大循环,一种是从大到小循环,说不是哪种算法优秀,时间或空间复杂度最小,要针对不同的情况吧。