java算法面試題——韓信點兵

在中國數學史上,廣泛流傳着一個“韓信點兵”的故事:韓信是漢高祖劉邦手下的大將,他英勇善戰,智謀超羣,爲漢朝建立了卓越的功勞。據說韓信的數學水平也非常高超,他在點兵的時候,爲了知道有多少兵,同時又能保住軍事機密,便讓士兵排隊報數:

按從1至5報數,記下最末一個士兵報的數爲1;
再按從1至6報數,記下最末一個士兵報的數爲5;
再按從1至7報數,記下最末一個士兵報的數爲4;
最後按從1至11報數,最末一個士兵報的數爲10;
請編寫程序計算韓信至少有多少兵。

 

編寫代碼

 

public class Demo1 {

    public static void main(String[] args) {
        int i = 1;
        while (true) {
            if (i % 5 == 1 && (i % 6 == 5) && (i % 7 == 4) && (i % 11 == 10)) {
                System.out.println("總人數" + i);
                break;
            } else {
                i++;
            }
        }
    }
}

運行結果:2111人

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章