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個のグループに分ける等 いろいろ応用できます。