競プロ典型 90 問:085 - Multiplication 085(★4)
問題
挑戦結果
- 挑戦日:2021/11/03
- 結果:解けた
- 時間:30分
考えたこと
- 約数を列挙して、permutationで組み合わせを全パターン列挙。やってみたけどTLEだった。
- ライブラリ化していた約数列挙のアルゴリズムのような感じで、a,bを決めてしまい、cは自動的に決まるような形ができそうだと思った。
公式解説
https://twitter.com/e869120/status/1412541885160189952/photo/2
解説を読んだふりかえり
- 解説が自分が考えたり、失敗した内容をだいたい盛り込んでいた。
- 自分は約数を求めながらループを回したけど、実装例の用にやると約数を列挙してから求めることもできるのか。次はそっちで解いてみたい。
ソース
from itertools import permutations K = int(input()) ansset = set() a = 1 while a * a * a <= K: b = a while K % a == 0 and a * b * b <= K: if K % (a * b) == 0: c = K // (a * b) if a <= b <= c: ansset.add((a,b,c)) b += 1 a += 1 print(len(ansset))