2016 Update

This commit is contained in:
Tina Müller 2016-12-05 22:15:40 +01:00
parent 948b86eafa
commit dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions

View file

@ -0,0 +1,10 @@
function Catalan([uint64]$m) {
function fact([bigint]$n) {
if($n -lt 2) {[bigint]::one}
else{2..$n | foreach -Begin {$prod = [bigint]::one} -Process {$prod = [bigint]::Multiply($prod,$_)} -End {$prod}}
}
$fact = fact $m
$fact1 = [bigint]::Multiply($m+1,$fact)
[bigint]::divide((fact (2*$m)), [bigint]::Multiply($fact,$fact1))
}
0..15 | foreach {"catalan($_): $(catalan $_)"}

View file

@ -0,0 +1,51 @@
function Get-CatalanNumber
{
[CmdletBinding()]
[OutputType([PSCustomObject])]
Param
(
[Parameter(Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0)]
[uint32[]]
$InputObject
)
Begin
{
function Get-Factorial ([int]$Number)
{
if ($Number -eq 0)
{
return 1
}
$factorial = 1
1..$Number | ForEach-Object {$factorial *= $_}
$factorial
}
function Get-Catalan ([int]$Number)
{
if ($Number -eq 0)
{
return 1
}
(Get-Factorial (2 * $Number)) / ((Get-Factorial (1 + $Number)) * (Get-Factorial $Number))
}
}
Process
{
foreach ($number in $InputObject)
{
[PSCustomObject]@{
Number = $number
CatalanNumber = Get-Catalan $number
}
}
}
}

View file

@ -0,0 +1 @@
0..14 | Get-CatalanNumber

View file

@ -0,0 +1 @@
(0..14 | Get-CatalanNumber).CatalanNumber