Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function diagonal(n, p) {
  2.   var diag = [], one=[], elem = [];
  3.   elem[0]=1;
  4.   for (var i=n; i>=0; i--) {
  5.     for (var j=0; j<=i; j++) {
  6.       if (i===n) {
  7.         one.push(1);
  8.         diag[i]=one;
  9.       }
  10.       if (i===n-1) {      
  11.          elem[j+1]=(elem[j]+diag[i+1][j+1]);
  12.             if (j===n-1) {
  13.             elem.pop();  
  14.             }
  15.         diag[i]=elem.slice();
  16.       }  
  17.       if (i<n-1) {        
  18.          elem[j+1]=(elem[j]+diag[i+1][j+1]);
  19.             if (j===i) {
  20.             elem.pop();  
  21.             }
  22.         diag[i]=elem.slice();
  23.       }          
  24.     }  
  25.   }
  26.  
  27.   diag.reverse();
  28.   var total = diag[p].reduce(function(a, b) {
  29.   return a + b;
  30.   });
  31.   return total;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement