#AtcoderのGrand Contest(8月9日開催)のA問題について
問題)
N個の実数A1,A2,...ANが与えられます。添字のペア(i,j)(i<j)であって、積Ai,Ajが整数であるようなものの個数を求めてください。
#入力
Python
1N 2A1 3A2 4. 5. 6. 7AN
#例
Python
1#入力 211 30.9 41 51 61.25 72.30000 85 970 100.000000001 119999.999999999 120.999999999 131.000000001 14#出力 158
これに対しての私のコードはこれです。
Python
1from decimal import Decimal 2n=int(input()) 3A=[float(input()) for _ in range(n)] 4multiple=[] 5for i in range(1,n): 6 for j in range(n-i): 7 ans=Decimal(A[i-1])*Decimal(A[i+j]) 8 if float(ans).is_integer(): 9 multiple.append(ans) 10print(len(multiple))
このコードを例をテストケースにして実行すると9になってしまいます。どのようにすればいいでしょうか?小数の積の問題なのでしょうか?
また実行時間超過については十分承知です。」実行時間をこのコードを改造して短くすにはどうすればよいでしょうか?
回答1件
あなたの回答
tips
プレビュー