Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function diagonal(n, p) {
- var diag = [], one=[], elem = [];
- elem[0]=1;
- for (var i=n; i>=0; i--) {
- for (var j=0; j<=i; j++) {
- if (i===n) {
- one.push(1);
- diag[i]=one;
- }
- if (i===n-1) {
- elem[j+1]=(elem[j]+diag[i+1][j+1]);
- if (j===n-1) {
- elem.pop();
- }
- diag[i]=elem.slice();
- }
- if (i<n-1) {
- elem[j+1]=(elem[j]+diag[i+1][j+1]);
- if (j===i) {
- elem.pop();
- }
- diag[i]=elem.slice();
- }
- }
- }
- diag.reverse();
- var total = diag[p].reduce(function(a, b) {
- return a + b;
- });
- return total;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement