#19251: python TLE 請問要怎麼修改呢?


linecpr40517@gmail.com (Tube)

學校 : 不指定學校
編號 : 103488
來源 : [140.127.42.116]
最後登入時間 :
2023-07-18 16:08:02
a010. 因數分解 | From: [140.127.41.248] | 發表日期 : 2019-09-20 18:19

我自己猜是因為下面print的部分搞得太複雜,可是我想不到別的方法解決><求救!!

import sys
for s in sys.stdin:
 p = int(s)
 T = 0
 factor = 0
 list = []
 for q in range(2,p+1):
  t=0
  while ( p%q == 0 ):
    factor = 1
    p = p/q
    list.append(q) 
  t = list.count(q)
  if factor == 1:
    factor = 0
    if t == 1 :
     if T == 0 :
       T =1
       string = f'{q}'
    else :
       string = f'{string} * {q}'
   else:

     if T == 0 :
       string = f'{q}^{t}'
       T = 1
    else:
       string = f'{string} * {q}^{t}'

print(string)

 

 
#19260: Re:python TLE 請問要怎麼修改呢?


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [122.117.95.179]
最後登入時間 :
2024-11-04 20:21:51
a010. 因數分解 | From: [61.223.53.91] | 發表日期 : 2019-09-21 12:38

 

這題很多人留下心得,

調整一下  q  的範圍,應該就能改善。

 
ZeroJudge Forum