Pythonで数値が奇数か偶数かを判定する方法を解説
Pythonで数値が奇数か偶数かを判定する方法
Pythonでは、剰余演算子(%)を使うことで、数値が奇数か偶数かを簡単に判定できます。剰余演算子は「余り演算子」とも呼ばれ、ある数を別の数で割ったときの余りを求めるための演算子です。
判定の考え方はシンプルです。対象の数値を2で割り、その余りを確認します。余りが0であれば偶数、0以外(1)であれば奇数であると判断できます。
サンプルコード
no = int(input('enter number'))
if no % 2 == 0:
print('{} is even'.format(no))
else:
print('{} is odd'.format(no))
このコードの流れは以下の通りです。
input()関数でユーザーから数値を文字列として受け取るint()で文字列を整数型に変換する- if文で
no % 2 == 0を評価し、余りが0なら偶数、そうでなければ奇数として出力する
実行結果
enter number25
25 is odd
enter number40
40 is even
実行例を見ると、25を入力した場合は「odd(奇数)」、40を入力した場合は「even(偶数)」と正しく判定されていることがわかります。
補足:ビット演算を使った別の判定方法
剰余演算子以外にも、ビット単位のAND演算(&)を使って奇数・偶数を判定することも可能です。整数の最下位ビットが1であれば奇数、0であれば偶数という性質を利用します。
no = int(input('enter number'))
if no & 1:
print('{} is odd'.format(no))
else:
print('{} is even'.format(no))
どちらの方法でも結果は同じですが、一般的には可読性の高い剰余演算子(%)を使う方法が広く推奨されています。用途や好みに応じて使い分けるとよいでしょう。
-
Pythonで与えられた数値がフィボナッチ数かどうかを判定する方法
本記事では、与えられた数値がフィボナッチ数であるかどうかを判定する問題の解決策について解説します。 問題の定義 ある数値 n が与えられたとき、その数値がフィボナッチ数であるかどうかを判定します。 第 n 項のフィボナッチ数は、直前の2つのフィボナッチ数の和として定義されることは広く知られています。しかし、フィボナッチ数列には漸化式以外にも興味深い数学的性質があります。 フィボナッチ数の判定条件 ある数値 n がフィボナッチ数であるのは、「5×n² + 4」または「5×n² − 4」のいずれかが完全平方数であるとき、かつそのときに限る この性質を利用すれば、フィボナッチ数列を実際に生成しなくて
-
【Python】与えられた数がフィボナッチ数かどうかを判定する方法を解説
本記事では、以下の問題文に対する解決策について詳しく学んでいきます。 問題の定義 数値 n が与えられたとき、その数がフィボナッチ数であるかどうかを判定します。 ご存知のとおり、n番目のフィボナッチ数は「直前の2つのフィボナッチ数の和」として定義されます。しかし、この漸化式以外にも、フィボナッチ数には興味深い数学的な性質が存在します。 フィボナッチ数の判定に使える重要な性質 ある数 n がフィボナッチ数であるのは、次の条件が成り立つ場合、かつその場合に限られます。 5×n² + 4 が完全平方数である または 5×n² − 4 が完全平方数である つまり、上記のどちらか一方(または両方)が