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

21 lines
456 B
Text
Raw Permalink Normal View History

2015-02-20 00:35:01 -05:00
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)}
2014-04-02 16:56:35 +00:00
}
2015-02-20 00:35:01 -05:00
}
2014-04-02 16:56:35 +00:00
2015-02-20 00:35:01 -05:00
function Get-HailStoneBelowLimit {
param($UpperLimit)
for ($i = 1; $i -lt $UpperLimit; $i++) {
2015-11-18 06:14:39 +00:00
[pscustomobject]@{
2015-02-20 00:35:01 -05:00
'Number' = $i
'Count' = (Get-HailStone $i).count
2014-04-02 16:56:35 +00:00
}
}
}