#28807: Python 解答


s913047@gm.hccvs.hc.edu.tw (6Kyd5ZKP6L6w)

學校 : 不指定學校
編號 : 177036
來源 : [140.126.179.101]
最後登入時間 :
2022-04-27 09:12:55
a010. 因數分解 | From: [1.169.166.83] | 發表日期 : 2022-01-05 00:45

def find(a):
  a=a
  i=2
  b=[]
  while True:
    if(a==1):
      break  
    elif(a%i==0):
      b.append(i)
      a/=i
    else:
      i+=1  
  return b 

def count(a):
  a=a
  b=[]
  i=0
  v=0
  c=0
  try:
    while True:
      if(a[i]==a[i+1]):
        a.pop(0)
        c+=1
      else:
        v=a[0]
        a.pop(0)
        c+=1
        b.append([v,c])
        c=0
        v=0 
  except:
    v=a[0
    c+=1 
    b.append([v,c])
  return b

def string(s):
  b=[]
  for i in s:
    if(i[1]==1):
      b.append(' * {}'.format(i[0])  )
    else:
      b.append(' * {}^{}'.format(i[0],i[1])  ) 
  b[0]=b[0].split(' * ')[1]
  return ''.join(b) 

print(string(count(find(int(input())))))
 
ZeroJudge Forum