蓝桥杯练习------python水仙花数

水仙花数

题目一:输入一个数,判断其是否为水仙花数,是则输出yes,不是则输出no。
输入样式:153
输出样式:yes
题目二:输出100-999得所有水仙花数

解析

题目一:

  1. 水仙花数是每一个位上的数的3次幂之和等于其本身
    例:153=1的3次幂+5的3次幂+3的3次幂,则153是水仙花数
  2. 对于水仙花数的各位求解:
    百位=n//100 #取整
    十位=n//10%10 #先取整得到百位和十位,再取余得到十位
    个位=n%10 #取余m
  3. pow(m,n)→返回m的n次方

题目二:

  1. 编写一个for循环,遍历100-999内的所有数
  2. 根据上面的解析得出百位,十位,个位数
  3. if语句判断该数百位、十位、个位数的3次幂之和是否相等
  4. 相等则输出

代码

#题目一
n=int(input())
if n==pow(n//100,3)+pow((n//10%10),3)+pow(n%10,3):
    print("yes")
else:
    print("no")
#题目二
for i in range(100,1000):#由于range函数不读取最后一个数,所以范围要取至1000以读取至999
    a=i//100
    b=i//10%10
    c=i%10
    if i==a**3+b**3+c**3:
        print(i)

结果

#题目一
153
yes
#题目二
153
370
371
407
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值