PowerShell: 奇数・偶数を判定する

PowerShellで整数が奇数か偶数かを判定する方法を紹介します。

ロジックは簡単で、整数を2で割ります。 2で割った余りが1の場合は奇数、余りが0の場合は偶数です。 例えば5を2で割った答えは「2 余り 1」なので奇数です。 8を2で割った答えは「4 余り 0」なので偶数です。
PowerShellで余りを計算する算術演算子は「%」、 等しい(イコール)を意味する比較演算子は「-eq」です。

次のサンプルコードは変数$nが奇数か偶数かを判定しています。

PowerShell
$n = 10

if ($n % 2 -eq 1){
	Write-Host "奇数"
} else {
	Write-Host "偶数"
}

# 実行結果
偶数です

次のコードは配列$arrに適当な整数を格納し、 コマンドレットでループを回して各要素の奇数・偶数を判定しています。

$arr = 3, 8, 12, 17

$arr | ForEach-Object {if ($_ % 2 -eq 1){"奇数"} else {"偶数"}}

# 実行結果
奇数
偶数
偶数
奇数

奇数・偶数判定の応用

奇数・偶数を判定するロジック(割り算の余りで判定する方法)は、 奇数・偶数だけでなく他にもいろいろ応用が効きます。

例えば3の倍数を取得したい場合、 3で割った余りが0の数が3の倍数です。

if ($n % 3 -eq 0){
	Write-Host "3の倍数"
}

数の「場合分け」にも応用できます。 数を3つのグループに分けたい場合、 3で割った余りが0, 1, 2で分けることができます。

if ($n % 3 -eq 0){
	Write-Host "余り 0"
} elseif ($n % 3 -eq 1){
	Write-Host "余り 1"
} else {
	Write-Host "余り 2"
}

このように、Nの倍数、N個のグループに分ける等 いろいろ応用できます。

PowerShell