バッチファイル | 偶数か奇数を判定する方法

バッチファイル 基本,コマンドプロンプト

バッチファイル | 偶数か奇数を判定する方法

バッチファイルで指定の数値、または入力された数値が偶数か奇数かを判定する方法について紹介しています。

バッチファイルで偶数か奇数を判定する

バッチファイルで偶数か奇数を判定する場合、対象の数値に対して「%% 2」とし、2で割って余りを求めます。
余りが「0」の場合は偶数「1」の場合は奇数となります。

変数に代入した数値が偶数か奇数かを判定する場合。

set /a num=100: 

set /a "remainder=num %% 2"

if %remainder%==0 (
    echo %num% は偶数です。
) else (
    echo %num% は奇数です。
)

入力された数値が偶数か奇数かを判定する場合。
以下のコードでは入力された値が整数かどうかを先に判定しています。
また、判定後、再度入力待ち状態に戻しています。

:input
set /p num=数値を入力してください:

set "valid=true"
for /f "delims=0123456789" %%i in ("%num%") do (
    if not "%%i" == "" (
        set "valid=false"
        echo 整数ではありません。
        goto input
    )
)

set /a "remainder=num %% 2"

if %remainder%==0 (
    echo %num% は偶数です。
) else (
    echo %num% は奇数です。
)
goto input

実際にバッチファイルを起動して、入力された数値が偶数か奇数か判定した結果です。

入力された数値が偶数か奇数か判定した結果
入力された数値が偶数か奇数か判定した結果