萌新退役4个月,请问这份代码如果加上高精度能不能过啊

P1128 [HNOI2001] 求正整数

萌新退役四个月
by vys_zzh @ 2019-08-10 21:30:21


~~qndmx~~
by team109 @ 2019-08-10 21:55:17


anyway,换了python...过了. ```python def qpow(a,p): r=1 while p>0: if p%2==1: r=r*a p>>=1;a=a*a return r N=10000 n,vis,prime=0,[False for _ in range(N)],[] a,dis=[0 for _ in range(N)],[] global ans def init(): for i in range(2,N): if vis[i]==False: prime.append(i) for p in prime: if i*p>=N: break vis[i*p]=True if i%p==0: break def chk(step): tmp=1 for i in range(step): tmp=tmp*qpow(prime[i],a[step-i-1]) global ans; if ans==0 or ans>tmp: ans=tmp def dfs(n,lim,step): if step>=len(prime): return None if n==1: return chk(step) while lim<len(dis): if n%dis[lim]==0: a[step]=dis[lim]-1 dfs(n/dis[lim],lim,step+1) dfs(n/dis[lim],lim+1,step+1) a[step]=0 lim+=1 if __name__=='__main__': global ans; ans=0 n=int(input()); init() for i in range(2,n+1): if n%i==0: dis.append(i) if n>1: dfs(n,0,0) else: ans=1 print(ans) ```
by hehelego @ 2019-08-11 19:35:38


btw....泥萌为什么关注点都在措辞上而不是内容啊.....zbl 文化课了,注泥萌身体健康. ~~提前祝自己noip2019爆0~~
by hehelego @ 2019-08-11 19:36:47


|