結果
問題 | No.1143 面積Nの三角形 |
ユーザー | convexineq |
提出日時 | 2021-05-12 08:50:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 110 ms / 800 ms |
コード長 | 740 bytes |
コンパイル時間 | 195 ms |
コンパイル使用メモリ | 81,928 KB |
実行使用メモリ | 71,492 KB |
最終ジャッジ日時 | 2024-09-22 14:22:27 |
合計ジャッジ時間 | 2,357 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
def divisor_list(N): #約数のリスト if N == 1: return [1] res = [] for i in range(1,N): if i*i >= N: break if N%i == 0: res.append(i) res.append(N//i) if i*i == N: res.append(i) return sorted(res) n = int(input()) N = n*n div = divisor_list(N) # pqr(p+q+r) = n*n なる (p,q,r)を求める ans = 0 L = len(div) for i,p in enumerate(div): if p*p > n: break for j in range(i,L): q = div[j] if p*q*q*(p+q+q) > N: break if N%(p*q): continue NN = N//p//q for k in range(j,L): r = div[k] V = r*(p+q+r) if V == NN: ans += 1 elif V > NN: break print(ans)