前提・実現したいこと
プログラミング初心者です。
AtCoder Beginner Contest 131 C - Anti-Division が不正解となるの理由がわかりません。
不正解となるコード
Python3
1import fractions 2 3a,b,c,d=map(int, input().split()) 4 5def lcm(x, y): 6 return (x * y) // fractions.gcd(x, y) 7 8x =int(b/c)-int(((a-1)/c)) 9y =int(b/d)-int(((a-1)/d)) 10n =lcm(c,d) 11xy=int(b/n)-int(((a-1)/n)) 12 13ans = (b-a+1) - (x+y-xy) 14print(ans) 15
正解となるコード
Python3
1import fractions 2 3a,b,c,d=map(int, input().split()) 4 5def lcm(x, y): 6 return (x * y) // fractions.gcd(x, y) 7 8x =(b//c)-(((a-1)//c)) 9y =(b//d)-(((a-1)//d)) 10n =lcm(c,d) 11xy=(b//n)-(((a-1)//n)) 12 13ans = (b-a+1) - (x+y-xy) 14print(ans)
質問項目
違いは商の小数を切り捨てる際に、intを使うか//を使うかです。
この2つの方法で行う計算は何が異なりますか?
BA頂いて申し訳ないのですが、LouiS0616さんの回答の方が良さそうなので、そちらに付け直していただけないでしょうか?
回答2件
あなたの回答
tips
プレビュー