AOJの素因数分解をする問題において自分の実行環境でやってみたところちゃんと正しい形で結果が出力されているにもかかわらず、なぜかWAになってしまいます。
Python3
1def prime(num): #エラトステネスの篩で素数を見つける 2 pn=[True]*(num+1) 3 pn[0]=False 4 pn[1]=False 5 for i in range(2,int(num**0.5)+1): 6 if pn[i]: 7 for j in range(i*2,num+1,i): 8 pn[j]=False 9 return pn 10 11def factorization(n,l): #素因数分解 12 ans=[] 13 tmp=n 14 for i in range(2,int(len(l)**0.5)+1): 15 if l[i]==False: 16 continue 17 if tmp%l[i]==0: 18 while tmp%i==0: 19 ans.append(i) 20 tmp//=i 21 if ans==[]: 22 ans.append(n) 23 if tmp!=1: 24 ans.append(tmp) 25 return ans 26 27 28n=int(input()) 29p=prime(n) 30s=factorization(n,p) 31print(str(n)+": "+" ".join(map(str,s)))
通らなかったテストはこちらです。
test_case
1input: 17 2output: 17: 17 3 4my_output: 17: 17
なぜうまく通らないのでしょうか。よければご指摘のほどお願いいたします。
回答1件
あなたの回答
tips
プレビュー