设整数n = p1^e1 * p2^e2 * p3^e3 (素因子乘积形式, p?代表素数 )
则n的因子数SumFactor = ( 1 + e1 ) * ( 1 + e2 ) * ( 1 + e3 )
n的任何一个因子可以表示为 p1^x1 * p2^x2 * p3^x3
将所有因子分类
p1^0 p1^1 ........ p1^e1
p1^0的因子个数 = ( 1 + e2 ) * ( 1 + e3 )
p1^1的因子个数 = ( 1 + e2 ) * ( 1 + e3 )
p1^e1的因子个数 = ( 1 + e2 ) * ( 1 + e3 )
所以n所有因子乘积包含 p1^ [ ( 1 + e2 ) * ( 1 + e3 ) * (1 + e1) * e1 / 2 ] = p1^[ SumFactor * e1 / 2 ]
以此类推:
n所有因子乘积包含 p2^[ SumFactor * e2 / 2 ]
n所有因子乘积包含 p3^[ SumFactor * e3 / 2 ]
所以n的所有因子乘积
= p1^[ SumFactor * e1 / 2 ] * p2^[ SumFactor * e2 / 2 ] * p3^[ SumFactor * e3 / 2 ]
= ( p1^e1 * p2^e2 * p3^e3 ) ^ ( SumFactor / 2 )
= sqrt( n ^ SumFactor )
题目地址:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=3756
code Link: