安徽对口高考Python试题选:输入一个正整数,然后输出该整数的3的幂数相加形式。

第一步:求出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(sj)+"+"

else:

w=w+"3**"+str(sj)

print(str(guo)+"="+w)

如打印出来的实例

整个代码如下:

python 复制代码
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)
相关推荐
糖果店的幽灵6 分钟前
时间序列处理
开发语言·python·pandas
喵叔哟13 分钟前
第2周学习笔记
笔记·python·学习·langchain
copyer_xyf17 分钟前
Python 迭代器与生成器
前端·后端·python
小小测试开发7 小时前
安装 Python 3.10+
开发语言·人工智能·python
梦想不只是梦与想8 小时前
Python 中的装饰器
python·装饰器
我叫唧唧波8 小时前
Python+AI 全栈学习笔记
人工智能·python·学习
copyer_xyf9 小时前
Python 异常处理
前端·后端·python
麻雀飞吧9 小时前
期货多合约策略目标持仓怎么更新才不乱
python·区块链
Cthy_hy10 小时前
拓扑排序超详解:原理 + Kahn 贪心算法
python·算法·贪心算法
LSssT.10 小时前
【01】Python 机器学习
开发语言·python