Difference between revisions of "Manuals/calci/Pascal Triangle Fun"
Jump to navigation
Jump to search
Line 44: | Line 44: | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==Pascal Triangle and Figurate Numbers== | |
+ | |||
+ | PASCALTRIANGLE(20) | ||
+ | |||
+ | [https://en.wikipedia.org/wiki/Figurate_number] | ||
− | + | figuratenumbers=(n,r)=>(n+r-1)!C!r; | |
− | + | a=[1..10,0..10]@figuratenumbers; | |
− | + | a.parts(10) | |
− | |||
==Lucas, Fibonacci, Golden Ratio Relationship == | ==Lucas, Fibonacci, Golden Ratio Relationship == | ||
Line 93: | Line 80: | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | ===Pretty Pascal Triangle=== | ||
+ | <pre> | ||
+ | m=10; | ||
+ | pt=PASCALTRIANGLE(m) | ||
+ | pt | ||
+ | .map( | ||
+ | function (r,i) | ||
+ | { | ||
+ | var prefix= (REPEATCHAR(" ",(2*m-(2*i+1))/2).split("")); | ||
+ | return( | ||
+ | prefix | ||
+ | .concat(r.join(", ,").split(",")) | ||
+ | .concat(prefix) | ||
+ | ) | ||
+ | } | ||
+ | ); | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | Now we can use: | ||
+ | <pre> | ||
+ | PASCALTRIANGLE(10,true) | ||
+ | <pre> |
Revision as of 10:05, 7 August 2020
Pascal Triangle Fun
Sierpiński triangle
//with 32 m=32; pt=PASCALTRIANGLE(m).$(x=>x%2) a=pt .map( function (r,i) { var prefix= (REPEATCHAR(" ",(2*m-(2*i+1))/2).split("")); return( prefix .concat(r.join(", ,").split(",")) .concat(prefix) ) } ); (a);
Fibonacci and Pascal Triangle
FIBONNACI(100) b=PASCALTRIANGLE(100) b.map( function calcfib(r,i,d) { var fib=0; var j=0; for(var xi=i;xi>=0;xi--) { fib+=isNaN(d[xi][j])?0:d[xi][j]; j++; } return(fib) } )
Pascal Triangle and Figurate Numbers
PASCALTRIANGLE(20)
figuratenumbers=(n,r)=>(n+r-1)!C!r; a=[1..10,0..10]@figuratenumbers; a.parts(10)
Lucas, Fibonacci, Golden Ratio Relationship
FIBONACCI(50) LUCAS(50) FIBONACCI(50) .pieces(2) .map(r=>r[1]/r[0]) GOLDENRATIO() LUCAS(50) .pieces(2) .map(r=>r[1]/r[0]) ROUND((GOLDENRATIO())^(1..10)) [(1+√5)/2,(1+√5)/2] ops.on; [(1+√5d100)/2,(1-√5d100)/2]
Pretty Pascal Triangle
m=10; pt=PASCALTRIANGLE(m) pt .map( function (r,i) { var prefix= (REPEATCHAR(" ",(2*m-(2*i+1))/2).split("")); return( prefix .concat(r.join(", ,").split(",")) .concat(prefix) ) } );Now we can use:PASCALTRIANGLE(10,true)