问题:
  将整数n分成k份,且每份不能为空,任意两分不能相同(不考虑顺序)。
  例如:n=7,k=3,下面三种分法被认为是相同的。
  1,1,5; 1,5,1; 5,1,1;
  问有多少种不同的分法。
输入:n,k (6<n≤200,2≤k≤6)
输出:一个整数,即不同的分法。
[样例]:
 输入:7 3
 输出:4
[说明]:(此部分不用输出)
  样例中的4种分法为:1,1,5; 1,2,4; 1,3,3; 2,2,3;
解答:var
          a:array[1..201,1..6] of longint;
          i,j,k,h,l:integer;
       begin 
          readln(n,k);
          fillchar(a,sizeof(a),0);
          for i:=1 to 201 do
            begin
            a[i,1]:=1;
            a[i,2]:=i div 2;
            end;
         for i:=3 to 201 do 
            begin
              for j:=3 to 6 do
                 begin
                   for h:=1 to j do 
                     a[i,j]:=a[i-1,h]+a[i,j];
                 end;
            end;
        writeln(a[n,k]);
     end.
   程序有可能有错```
           起其中思想是 ````a[n,k]是等于a[n-k,。] 的前k项和
例如:a[200,6]是a[194,1]+a[194,2]+a[194,3a[194,4]+a[194,5]+a[194,6]

本资料源自于:[url=http://www.nengdongyingyu.org]能动英语、表音密码[/url]