尤拉計劃問題十五matlab實現
阿新 • • 發佈:2018-11-10
Problem 15 :Lattice paths
Starting in the top left corner of a 2×2 grid, and only being able to move to the right and down, there are exactly 6 routes to the bottom right corner.
How many such routes are there through a 20×20 grid?
思路 :
看到這種題目很親切有沒有?就像上小學時候數學題-------找規律。這道題就是以前找規律題的plus版,題目很容易理解,那我們要怎麼找出規律呢?細看一下發現規律確實沒那麼容易找,正推推不出來,於是我採用逆向思維,畫了幾個3x3,4x4, 6x6的方格,發現越來越有意思了。有些問題我們可能不能從表面發現其內在聯絡,可是一旦發現了一些規律,你就會驚歎為什麼自己剛開始的時候不去這樣想!
一旦有了思路,便會文思泉湧,筆耕不綴,我畫了一個圖,看上去更直觀!
- 仔細觀察,這不就是傳說中著名的-------------楊輝三角嗎?
- 其中標記的點旁邊的數字代表從該點到結束點路徑的數目。舉個栗子:比如說黑點到結束點有兩條路徑,一條是先往右一格,再往下一格。另一條呢就是先往下一格,再往右一格。很有意思,有沒有?接下來的對角線呢?
你眼中看似落葉紛飛,變化無常的世界,實際只是躺在上帝懷中一份早已譜好的樂章!
程式碼 :
clear,clc; tic A = zeros(41); A (:,1) = 1; A (2,2) = 1; for i = 3:41 A (i,i) = 1; for j = 2:i-1 A(i,j) = (A(i-1,j-1)) + (A(i-1,j)); %yanghui triangle lterative end end t = max(A,[],2); %save data to matrix disp(max(t)); toc
結果 : 137846528820