安徽对口高考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)
相关推荐
飞Link11 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
Deng桑11 小时前
Linux线上排查命令
1024程序员节
曲径海盗11 小时前
【Python 学习第 38 天】for 循环
python·学习笔记·编程入门
在世修行12 小时前
智学文枢:变式题生成引擎
python·ai·pyside·题目生成
comyccccc12 小时前
STM32F103C8T6最小系统板设计全解析学习笔记
单片机·1024程序员节
On The Road :13 小时前
Java 多线程详解:从入门到线程安全
java·python·安全
岁月宁静14 小时前
如何设计支持 Skills 的 Agent?一套可扩展的四层架构
python·agent
岁月宁静14 小时前
CrewAI 快速上手:10 分钟搭建你的第一个 Agent 团队
python·agent
曲径海盗14 小时前
【Python 学习第 40 天】for 循环
python·学习笔记·编程入门
专注仿真14 小时前
知识问答大模型-rag算法详解
人工智能·python·控制算法