2017年5月10日 星期三

[JAVA]第3章 基礎語法:課後練習

1.最大公因數 (G.C.D.)
2.找出所有三位數的阿姆斯壯數 (Armstrong number)


1.

int n = 495, m = 1000;
for (int i = 1; i <= m; i++) {
        if (n % i == 0 && m % i == 0) {
            System.out.println("cd(495,1000)=" + i);
        }

}

花很多時間在想:如何只印出gcd,但還是沒想到。
有想過用Array,不過單元還沒介紹到,先在此紀錄。

2.

int h=1,t=0,o=0;
for(h=1;h<=9;h++){
    for(t=0;t<=9;t++){
        for(o=0;o<=9;o++){
            if(h*h*h+t*t*t+o*o*o == h*100+t*10+o*1){
                System.out.println(h*100+t*10+o*1);
            }
        }
    }

}

原本設 int hun,ten,one;
但後來發現不能使用 ^ 運算三次方,

只好簡化、並用 * 運算蠻幹,先寫出這麼醜的程式碼。
還在想如何寫得漂亮,可能要用Math.*吧,同上題原因先記錄。

沒有留言:

張貼留言