考え方
素数はエラトステネスの篩(ふるい)で列挙できる.$a^{5} < a^{2}b c^{2} \leq 10^{12}$より$a < 252$.
$2^{2}\times 3 \times c^{2} \leq 10^{12}$より$c \leq 10^{6}/\sqrt{12} < 288,676$.
この範囲で全て調べれば良い.
回答例
N = int(input()) MAX = 300000 prime = [] is_prime = [True] * (MAX + 1) is_prime[0] = is_prime[1] = False for i in range(2, MAX + 1): if is_prime[i]: prime.append(i) for j in range(2*i, MAX + 1, i): is_prime[j] = False ans = 0 num = len(prime) for i in range(num): a = prime[i] if a > 252: continue for j in range(i + 1, num): b = prime[j] for k in range(j + 1, num): c = prime[k] if (a ** 2) * b * (c ** 2) <= N: ans += 1 else: break print(ans)