0
点赞
收藏
分享

微信扫一扫

5G工业路由器智能电网部署实录:一天内解决供电、网络

Python芸芸 2024-11-06 阅读 7

第一步:求出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)
举报

相关推荐

0 条评论