Биномиальные коэффициенты
Нахождение биномиальных коэффициентов с помощью треугольника Паскаля.
program binom_koeff_treug_paskalya; uses crt; {Наибольшее возможное значение числа (m=3247), для которого можно вычислить число сочетаний из него} const m=3247; type vector = array[0..m] of extended; var n,k:integer; C_n_k:extended; ch:char; function bk(n,k:integer):extended; var i,j:integer;v1,v2:vector; begin if (k=0) or (k=n) or (n=1) or (k=1) then begin if k=1 then bk:=n else bk:=1; exit end; v1[0]:=1;v1[1]:=2;v1[2]:=1; for j:=3 to n-1 do begin for i:=0 to j do v2[i]:=v1[i]; for i:=0 to j do begin if (i=0) or (i=j) then v1[i]:=1 else if im then writeln('Слишком большое n'); if (k<0) or (k>n) or (n>m) or (n<1) then readln; until (k<=n) and (k>=0) and (n<=m); C_n_k:=bk(n,k); writeln('Равно ',C_n_k:30:0); writeln('Выход - Escape, продолжение Enter'); ch:=readkey; until ch=#27; {выход из программы по клавише Esc, код 27} end.