
第一步:求出3的最高次幂是多少
guo=int(input("请输入一个正整数:"))
 i=guo
 a=0
 while i>=0:
         if 3**i<=guo:
                 a=i
                 break
         i=i-1
print(a)#此语句为了看懂题目,题目中不需要打印出最高幂数
第二步:新建一个列表,用于存放3的幂。
b=a
 m=0
 s=[]
 while True:
         m=m+3**b
         if m<=guo:
                 s.append(b)
         else :
                 m=m-3**b
                 b=b-1
         if m==guo:
                 break
print(s)#此语句为了看懂题目,题目中不需要打印出列表
第三步,根据列表中,定出3的幂数相加形式
w=""
 for j in range(len(s)):
         if j!=len(s)-1:
                 w=w+"3**"+str(s[j])+"+"
         else:
                 w=w+"3**"+str(s[j])
 print(str(guo)+"="+w)
如打印出来的实例

整个代码如下:
guo=int(input("请输入一个正整数:"))
i=guo
while i>=0:
    if 3**i<=guo:
        a=i
        break
    i=i-1
print(a)
b=a
m=0
s=[]
while True:
    m=m+3**b
    if m<=guo:
        s.append(b)
    else :
        m=m-3**b
        b=b-1
    if m==guo:
      break
w=""
for j in range(len(s)):
    if j!=len(s)-1:
        w=w+"3**"+str(s[j])+"+"
    else:
        w=w+"3**"+str(s[j])
print(str(guo)+"="+w)









