题目大意
给定一个 n n n, n = 2021041820210418 n=2021041820210418 n=2021041820210418,问满足 a × b × c = n a \times b\times c=n a×b×c=n 的 ( a , b , c ) (a,b,c) (a,b,c) 组合有多少种。
解题思路
( a , b , c ) (a,b,c) (a,b,c) 肯定是 n n n 的因子 ( n = a × b c (n = a \times bc (n=a×bc 或者 n = b × a c n = b \times ac n=b×ac 或者 n = c × a b ) n = c \times ab ) n=c×ab)
于是可以筛出 n 的因子,存入数组中。
得到 n n n 的因子数为 128 128 128,数目很小,所以可以直接枚举 a , b , c a,b,c a,b,c,来计算总共的组合数。
AC_Code
Python:
# -*- coding: utf-8 -*-
# @Author : BYW-yuwei
# @Software: python3.8.6
a = [0] * 1000
n = 2021041820210418
len = 0
for i in range(1, int(n ** 0.5) + 1):if n % i == 0:a[len] = ilen += 1if i != n // i:a[len] = n // ilen += 1
cnt = 0
for i in range(len):for j in range(len):if a[i] * a[j] > n:continuefor k in range(len):if a[i] * a[j] * a[k] == n:cnt += 1
print(cnt)