Pascal matrix generation: Difference between revisions

add fermat
(add FreeBASIC)
(add fermat)
Line 1,971:
1 4 10 20 35
1 5 15 35 70
</pre>
 
=={{header|Fermat}}==
<lang fermat>&a; {set mode to 0-indexed matrices}
Func Pasmat( n, t ) =
;{create a Pascal matrix of size n by n}
;{t=0 -> upper triangular, 1 -> lower triangular,2->symmetric}
Array m[n, n]; {result is stored in array m}
if t = 0 then
[m]:=[<i=0,n-1><j=0,n-1> Bin(j,i) ];
fi;
if t = 1 then
[m]:=[<i=0,n-1><j=0,n-1> Bin(i,j) ];
fi;
if t = 2 then
[m]:=[<i=0,n-1><j=0,n-1> Bin(i+j,i) ];
fi;
.;
 
Pasmat(5, 0);
!!([m);
!;
Pasmat(5, 1);
!!([m);
!;
Pasmat(5, 2);
!!([m);</lang>
{{out}}<pre>
1, 1, 1, 1, 1,
0, 1, 2, 3, 4,
0, 0, 1, 3, 6,
0, 0, 0, 1, 4,
0, 0, 0, 0, 1
 
1, 0, 0, 0, 0,
1, 1, 0, 0, 0,
1, 2, 1, 0, 0,
1, 3, 3, 1, 0,
1, 4, 6, 4, 1
 
1, 1, 1, 1, 1,
1, 2, 3, 4, 5,
1, 3, 6, 10, 15,
1, 4, 10, 20, 35,
1, 5, 15, 35, 70
</pre>
 
781

edits