結果
問題 | No.2358 xy+yz+zx=N |
ユーザー |
👑 ![]() |
提出日時 | 2023-06-23 23:11:56 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 195 ms / 2,000 ms |
コード長 | 953 bytes |
コンパイル時間 | 159 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 80,128 KB |
最終ジャッジ日時 | 2024-07-01 17:42:47 |
合計ジャッジ時間 | 3,266 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 |
ソースコード
"""https://yukicoder.me/problems/no/2358全部出力なので、少ないことがわかるxを固定してみようx(y+z)+yz = Nなんか、一つしか存在しなさそうな見た目N % gcd(x,y) = 0N % gcd(x,z) = 0を利用する?y = gYz = hZgX(gY+hZ) + gYhZ = 0x,y,z のgcdを考える?とりあえずx <= y <= zとするか…xは10^3未満yもねab+c(a+b) == N"""import sysimport itertoolsN = int(input())ans = []for a in range(3164):for b in range(a,3164):rem = N - a*bif a+b == 0:continueif rem % (a+b) == 0:c = rem // (a+b)if b <= c:s = set()for p in itertools.permutations([a,b,c]):tup = tuple(p)s.add(tup)for tup in s:ans.append(tup)print (len(ans))for x,y,z in ans:print (x,y,z)