窮舉法 一道愛因斯坦的數學題

2021-09-20 18:26:45 字數 1108 閱讀 8269

愛因斯坦出了一道這樣的數學題:有一條很長的樓梯,若每步跨2階,則最後剩1階;若每步跨3階,則最後剩2階;若每步跨5階,則最後剩4階;若每步跨6階則最後剩5階;每次跨7階,最後才正好一階不剩。請問這個樓梯至少有多少階?

設總台階是n階,那麼滿足以下五個條件:

由於n是自然數,且題目要求最小的n,所以可以從1開始,自增加1,當滿足所有條件時,判斷結束。另外,在使用列舉法的時候可以通過一些對範圍的優化減少迴圈次數,如根據 n % 2 == 1,可以只考慮奇數,將每次的步長設定為2,從而減少了一半的計算量。但本題目主要是用於演示窮舉法的思路,故不考慮優化。

public

static

void

main

(string[

] args)

system.out.

println

("n = "

+ n)

;}

輸出為:n = 119

如果想獲得更多滿足條件的數,我們可以進行乙個簡單的必定,在滿足條件時,輸出並記錄個數,然後達到指定的個數後退出迴圈。

public

static

void

main

(string[

] args)

n++;}

}

結果

1: n = 119

2: n = 329

3: n = 539

4: n = 749

5: n = 959

6: n = 1169

7: n = 1379

8: n = 1589

9: n = 1799

10: n = 2009

11: n = 2219

12: n = 2429

13: n = 2639

14: n = 2849

15: n = 3059

16: n = 3269

17: n = 3479

18: n = 3689

19: n = 3899

20: n = 4109

C語言 愛因斯坦的數學題

愛因斯坦出了一道這樣的數學題 有一條長階梯,若每步跨2階,則最後剩1階,若每步跨3階,則最後剩2階,若每步跨5階,則最後剩4階,若每步跨6階則最後剩5階。只有每次跨7階,最後才正好一階不剩。請問在 1 n 內,有多少個數能滿足?用變數x表示階梯數,則x應滿足 若每步跨2階,則最後剩1階 x 2 1 ...

趣味程式設計 愛因斯坦的數學題

愛因斯坦出了一道這樣的數學題 有一條長階梯,若每步跨2階,則最後剩一階,若每步跨3 階,則最後剩2階,若每步跨5階,則最後剩4階,若每步跨6階則最後剩5階。只有每次跨7階,最後才正好一階不剩。請問在1到n內,有多少個數能滿足?有多組資料,每一行只有乙個n。輸出滿足條件的個數。每個答案一行。分步考慮,...

一道怪怪的數學題

如圖1 其中一種初態 乙個4 4的棋盤,上面有1 15共15個數字和乙個空格 用 表示 要求利用空格移動棋子把他們排成圖2的形式 目標狀態 10 1 11 14 1 2 3 4 2 3 5 5 6 7 8 8 9 4 15 9 10 11 12 12 13 6 7 13 14 15 圖1 圖2 問題...