竹園論壇
標題:
d950 - A. 帕斯卡三角形
[打印本頁]
作者:
HSCHE
時間:
2014-5-5 13:52
標題:
d950 - A. 帕斯卡三角形
本帖最後由 HSCHE 於 2014-5-5 13:56 編輯
內容 :
法國科學家帕斯卡誕生於
1623
年,在
13
歲的時候發現帕斯卡三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
我們可以發現在帕斯卡三角形中,每一橫列都是左右對稱的,第
n
橫列有
n
個數字,每一個數字等於上一橫列左右兩個數字的和。
事實上,南宋楊輝曾經在其著作中引用北宋賈憲所發現的相同三角形,時間點大約比巴斯卡早了六百年,所以帕斯卡三角形又稱楊輝三角形或賈憲三角形。
輸入說明 :
第一行有一個整數
T
,代表接下來有幾組測試資料。
每一組測試資料有兩個整數
M
和
N
。
(1
≤
M
≤
13, 1
≤
N
≤
13)
輸出說明 :
對每筆測試資料輸出帕斯卡三角形第
M
橫列第
N
個數字的值。
範例輸入 :
31 13 26 5
範例輸出 :
125
提示 :
出處 :
2010 NPSC 國中組決賽
網址:
http://zerojudge.tw/ShowProblem?problemid=d950
解題感想:一開始我是用暴力法(誤),其實這題只是標準的for迴圈和遞迴,注意規律頭尾就可輕鬆AC
AC CODE:
#include<iostream>
using namespace std;
int f(int n,int m)
{
if(m==0 || n==m)return 1;
else return f(n-1,m-1)+f(n-1,m);
}
int main()
{
int T;
cin>>T;
for(int i=0;i<T;++i)
{
int n,m;
cin>>n>>m;
cout<<f(n-1,m-1)<<"\n";
}
//while(1);
return 0;
}
歡迎光臨 竹園論壇 (http://forum.tfcis.org/)
Powered by Discuz! X3.2