QBCOND - Quan hệ có điều kiện

Tác giả: RR

Ngôn ngữ: Pascal

var
  n,k:int64;
  f:array[1..10,0..45] of longint;
begin
  read(n);
f[1,0]:=1;
f[2,0]:=2;
f[2,1]:=1;
f[3,0]:=6;
f[3,1]:=6;
f[3,3]:=1;
f[4,0]:=24;
f[4,1]:=36;
f[4,2]:=6;
f[4,3]:=8;
f[4,6]:=1;
f[5,0]:=120;
f[5,1]:=240;
f[5,2]:=90;
f[5,3]:=60;
f[5,4]:=20;
f[5,6]:=10;
f[5,10]:=1;
f[6,0]:=720;
f[6,1]:=1800;
f[6,2]:=1080;
f[6,3]:=570;
f[6,4]:=360;
f[6,6]:=110;
f[6,7]:=30;
f[6,10]:=12;
f[6,15]:=1;
f[7,0]:=5040;
f[7,1]:=15120;
f[7,2]:=12600;
f[7,3]:=6720;
f[7,4]:=5040;
f[7,5]:=630;
f[7,6]:=1260;
f[7,7]:=630;
f[7,9]:=70;
f[7,10]:=126;
f[7,11]:=42;
f[7,15]:=14;
f[7,21]:=1;
f[8,0]:=40320;
f[8,1]:=141120;
f[8,2]:=151200;
f[8,3]:=90720;
f[8,4]:=69720;
f[8,5]:=20160;
f[8,6]:=15120;
f[8,7]:=11760;
f[8,8]:=1260;
f[8,9]:=1680;
f[8,10]:=1344;
f[8,11]:=1008;
f[8,12]:=70;
f[8,13]:=112;
f[8,15]:=168;
f[8,16]:=56;
f[8,21]:=16;
f[8,28]:=1;
f[9,0]:=362880;
f[9,1]:=1451520;
f[9,2]:=1905120;
f[9,3]:=1330560;
f[9,4]:=1020600;
f[9,5]:=453600;
f[9,6]:=221760;
f[9,7]:=211680;
f[9,8]:=45360;
f[9,9]:=31920;
f[9,10]:=22680;
f[9,11]:=18144;
f[9,12]:=4158;
f[9,13]:=3024;
f[9,15]:=2016;
f[9,16]:=1764;
f[9,18]:=168;
f[9,21]:=216;
f[9,22]:=72;
f[9,28]:=18;
f[9,36]:=1;
f[10,0]:=3628800;
f[10,1]:=16329600;
f[10,2]:=25401600;
f[10,3]:=20714400;
f[10,4]:=16102800;
f[10,5]:=9185400;
f[10,6]:=4082400;
f[10,7]:=3780000;
f[10,8]:=1285200;
f[10,9]:=646800;
f[10,10]:=483840;
f[10,11]:=302400;
f[10,12]:=141120;
f[10,13]:=69930;
f[10,14]:=15120;
f[10,15]:=25200;
f[10,16]:=37800;
f[10,17]:=3780;
f[10,18]:=5040;
f[10,20]:=252;
f[10,21]:=3300;
f[10,22]:=2160;
f[10,24]:=240;
f[10,28]:=270;
f[10,29]:=90;
f[10,36]:=20;
f[10,45]:=1;
  while (n>=0) do
    begin
      read(k);
      if (k<0) or (k>45) then writeln(0)
      else writeln(f[n,k]);
      read(n);
    end;
end.

Download