Difference between revisions of "Manuals/calci/Pascal Triangle Fun"

From ZCubes Wiki
Jump to navigation Jump to search
Line 44: Line 44:
 
</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>
+
==Pascal Triangle and Figurate Numbers==
 +
 
 +
PASCALTRIANGLE(20)
 +
 
 +
[https://en.wikipedia.org/wiki/Figurate_number]
  
Now we can use:
+
figuratenumbers=(n,r)=>(n+r-1)!C!r;
<pre>
+
a=[1..10,0..10]@figuratenumbers;
PASCALTRIANGLE(10,true)
+
a.parts(10)
<pre>
 
  
 
==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)

[1]

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)