竹園論壇

標題: 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