阶乘分解
* * * *
拉格朗日计划
* * * *
阶乘分解

按下面的格式打印$1000!$的质因数分解:

2^994*3^498*5^249*7^164*11^98*13^81*17^61*19^54*23^44*...*983*991*997

本题难度:



解答

先找出素数。数据范围很小,为了使代码更短直接双循环计算。

对每个素数,递归计算其指数,最后按要求的格式拼接成字符串。

最终代码有两行。

代码长度:146字节 vs. 全站第一:90字节。

f=lambda x,p:0if x>1000else 1000//x+f(x*p,p)
print("*".join([f"{n}^{f(n,n)}",str(n)][n>500]for n in range(2,1001)if all(n%d for d in range(2,n))))