程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> POJ 1306 Combinations

POJ 1306 Combinations

編輯:C++入門知識

很簡單啦,我記得有一個公式但不知道具體了,自己推導了一下C(n,m)=C(n-1,m-1)+C(n-1,m)。打表就好了。

代碼:


[cpp] 
#include<iostream> 
#include<string.h> 
using namespace std; 
__int64 dp[101][101]; 
int main() 

   
   memset(dp,0,sizeof(dp)); 
   for(int i=1;i<=100;i++) 
    for(int j=1;j<=i;j++){ 
         if(i==j) dp[i][j]=1; 
         else if(j==1) dp[i][j]=i; 
         else 
           dp[i][j]=dp[i-1][j]+dp[i-1][j-1]; 
    } 
    int n,m;      
    while( cin>>n>>m){ 
          if(n==0&&m==0) break; 
           cout<<n<<" things taken "<<m<<" at a time is "<<dp[n][m]<<" exactly."<<endl; 
    } 
    return 0; 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved