安徽对口高考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(s[j])+"+"

else:

w=w+"3**"+str(s[j])

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)
相关推荐
2301_7815714216 分钟前
NumPy张量缩并怎么用_np.einsum()爱因斯坦求和约定高级索引魔法
jvm·数据库·python
Warson_L26 分钟前
python集合类型-set和tuple
python
zhangzhi197981559236 分钟前
Agent Skills
开发语言·python
爱码小白41 分钟前
MySQL索引与SQL优化
大数据·数据库·python
2303_8212873842 分钟前
MySQL行锁和表锁如何区分_通过explain查看锁等待机制.txt
jvm·数据库·python
kexnjdcncnxjs1 小时前
如何在Navicat中创建基础数据表_可视化图形界面操作指南
jvm·数据库·python
m0_740796361 小时前
CSS如何兼容新旧方案结合响应式容器查询
jvm·数据库·python
zmsofts1 小时前
Maven核心能力深度解析:从项目管理到扩展机制
java·python·maven
qq_452396232 小时前
第十四篇:《JMeter插件扩展:自定义函数与第三方插件》
开发语言·python·jmeter
m0_702036532 小时前
mysql如何导出特定条件的查询数据_使用mysqldump加where参数
jvm·数据库·python