前提・実現したいこと
atcoder ABC126 C問題で、小数点以下がずれる理由が知りたい
発生している問題・エラーメッセージ
例えば「100000 5」を入力値とした場合、出力結果が「0.9999687499980839」となり、 正答「0.999973749998」とずれる
該当のソースコード
python
1a, b = map(int, input().split()) 2ans = 0 3 4for i in range(1, a+1): 5 for j in range(10**5): 6 if i*2**j > b: 7 ans += (1/a)*(1/2)**j 8 break 9 10print(ans) 11
試したこと
fractionsを活用して、分数の形で計算して最後に割り算
補足情報(FW/ツールのバージョンなど)
python3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/10 22:52