Starting in the top left corner of a 22 grid, there are 6 routes (without backtracking) to the bottom right corner.
How many routes are there through a 2020 grid?
從 2*2的一個角到達另外一個對角有6條線路,問從 20*20的一個角到達另外一個對角有多少條線路?
這個要是運用組合數學的知識就好解決了。下面是組合數學的一個東東:
下面是一個別人的東西,看下就和這個問題一樣了。
小蟲路線計數(I)
著作權聲明:轉載時請以超連結形式標明文章原始出處和作者資訊及本聲明
http://yjq24.blogbus.com/logs/51125414.html
大家將就看~(我發現我很有鼠繪天賦阿),以後盡量多鼠繪~
現在有個蟲子在(0,0),每步只能往x,y的正方向走,要求走到(m,n),問有多少種路徑(有一步不同的路徑就視作不同的路徑)。
這 玩意高中肯定都做過,因為每步只能走正方向,所以小蟲不管怎麼走,一共都是走m+n步到(m,n),而這m+n步裡,必然是m步向右,n步向上,所以說只 要從m+n步裡選出其中的某m步,規定其向右走就行了。當然,你從中選出n步,規定其向上,得到的答案也是一樣的。答數是 C(m+n,m)=C(m+n,n)。
看完就知道了答案了,就是 40! / (20! * 20!)
歐拉項目第十五道題#include <stdio.h>#include <stdlib.h>double JieChen(int n);int main(int argc, char *argv[]){ double num1, num2, num3; num1 = JieChen(40); num2 = JieChen(20); num3 = num1 / (num2 * num2); printf("%lf", num3); system("PAUSE"); return 0;}double JieChen(int n){ if(n == 1) return 1; else return n * JieChen(n - 1);}
這題如果不利用組合數學的這個知識,還是挺費勁的,這個以後再想了。