2009-07-14 15:33:58來源不明

數學少女的難題

做法:數學(遞迴)

感謝zhouyuchen的提供!!

預設p(n,0)=1
p(n,m)=p(n-1,m)+p(n-1,m-1)*n;
      //少一個數字n的組合(有m個) 加一個n的組合*n(+n之後變成有m個)

/********************************************************/

#include<stdio.h>
#include<stdlib.h>
int p[1001][1001]={0};
main()
{
 int n,m;
 for(n=0;n<=1000;n++)
  {
    p[n][0]=1;
     for(m=1;m<=n;m++)
        p[n][m]=(p[n-1][m]+p[n-1][m-1]*n)%1572869;
  }  
 while(scanf("%d %d",&n,&m)==2)
   printf("%d\n",p[n][m]);
 return 0;
}

上一篇:中国字

下一篇:砝碼