链接http://acm.swust.edu.cn/problem/0086/
杨辉三角http://baike.baidu.com/view/7804.htm
/* 第n行的m个数可表示为 C(n-1,m-1), 即为从n-1个不同元素中取m-1个元素的组合数 */ #include <stdio.h> int main() { int combination(int m,int n); int n,i,j; while(~scanf("%d",&n)) { if(n==0) { break; } else { for(i=0;i<n;i++) { for(j=0;j<=i;j++) { if(j!=i) { printf("%d ",combination(i,j)); } else { printf("%d\n",combination(i,j)); } } } } } return 0; } int combination(int m,int n) { int factorial(int n); int ans,i; ans=1; for(i=m;i>m-n;i--) { ans=ans*i; } return ans=ans/factorial(n); } int factorial(int n) { if(n==0||n==1) { return 1; } else { return n*factorial(n-1); } }
#include <iostream>//队列 #include <queue> using namespace std; int main() { int i,j,n; int temp; int item; while(cin>>n&&n!=0) { queue<int>q; for(i=1;i<=n;i++) { q.push(1); temp=0; for(j=1;j<=i;j++) { item=q.front(); q.pop(); q.push(item+temp); temp=item; if(j!=i) { cout<<item<<" "; } else { cout<<item<<endl; } } } } return 0; }
时间: 2024-11-05 19:00:21