安徽对口高考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)
相关推荐
巷北夜未央1 分钟前
Python每日一题(9)
开发语言·python
不辉放弃3 分钟前
Spark 在 Python 大数据中的作用
大数据·python
MessiGo6 分钟前
Python 爬虫(5)Beautiful Soup 4 实战
开发语言·爬虫·python
LuckyAnJo34 分钟前
Leetcode-100 回溯法-电话号码的字母组合
python·算法·leetcode
惊鸿博客1 小时前
Python 的 for-else 循环结构是如何工作的?
python
智源社区1 小时前
PyTorch Day 首次登陆 2025 智源大会!论文征集开启
人工智能·pytorch·python·深度学习·机器学习
暴力袋鼠哥1 小时前
基于Django的巴马水晶宫旅游管理系统
python·django·旅游
milo.qu1 小时前
AI人工智能-PyCharm的介绍&安装&应用
人工智能·python·pycharm
朝花惜时2 小时前
供应链-库存管理之补货计算模型(二)
python·数据分析·运营
失去妙妙屋的米奇3 小时前
Python库与Excel
开发语言·python·excel