安徽对口高考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)
相关推荐
Daydream.V40 分钟前
Python Flask超全入门实战教程|从零基础到项目部署
大数据·python·flask
databook1 小时前
Manim物理模拟:别自己写欧拉了!
python·数学·动效
香蕉鼠片2 小时前
Python进阶学习
开发语言·python
亚亚的学习和分享3 小时前
python练习:人生模拟器(简易版)
python
全糖可乐气泡水3 小时前
Codex适配国产信创环境安装部署与技术适配全解析
开发语言·git·python·算法·百度
LeocenaY3 小时前
搜集的一些测开面试题
开发语言·python
嗝o゚3 小时前
昇腾CANN ge 仓的图优化 Pass:哪些 Pass 真正影响推理性能
pytorch·python·深度学习·cann·ge-pass
深度先生4 小时前
Conda 全面讲解——数据科学家的标配工具
python
深度先生4 小时前
虚拟环境:别让包打架
python
漠效4 小时前
随机代理‌IP访问脚本
开发语言·python