RosettaCodeData/Task/Hailstone-sequence/PowerShell/hailstone-sequence.psh

21 lines
456 B
Plaintext

function Get-HailStone {
param($n)
switch($n) {
1 {$n;return}
{$n % 2 -eq 0} {$n; return Get-Hailstone ($n = $n / 2)}
{$n % 2 -ne 0} {$n; return Get-Hailstone ($n = ($n * 3) +1)}
}
}
function Get-HailStoneBelowLimit {
param($UpperLimit)
for ($i = 1; $i -lt $UpperLimit; $i++) {
[pscustomobject]@{
'Number' = $i
'Count' = (Get-HailStone $i).count
}
}
}