【ABC142 A】「Odds of Oddness」を解く【Python3】

abc142a

コンテスト一覧へ

 

N 以下の正整数の中から選んだ a が奇数である確率を求める問題です。

N までの数字の中に奇数がいくつあるか調べて、N で割る方法でできます。

奇数の個数の求め方はいくつか考えられます。

計算で求める

提出
n = int(input())
print((n+1)//2 / n)

N に 1 を足して 2 で割ると(「//」は切り捨て除算)、奇数の個数を求めることができます。

それを N で割ったものが答えとなります。

数えて求める

提出
n = int(input())
ans = 0

for i in range(1, n+1):
if i%2 != 0:
ans += 1

print(ans/n)

ちょっと回りくどいですが、1から順番に数えていって、それぞれ奇数かどうかを判定します。

奇数だった場合に、「ans」に 1 を足していき、最後の ans を N で割ります。

range()関数

range()関数は、連続した数のリストを返します。

引数の指定が1つの場合、stopの指定になります。

引数stopの値は含まれず、最後の数字は「stop-1」です。

range(start,stop,step)

【ABC142】解説記事リスト

コンテスト一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。