(蓝桥杯 ADV-374 水仙花数)


前言

  大概是最后一次参加蓝桥杯,Python组模拟题练习,仅作为个人总结,分享给有需要的人,如有错误,请纠正,万分感谢


问题描述

求出所有的“水仙花数”。所谓的“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本身。

输入格式

程序使用for循环遍历所有三位数整数,不需要手动输入

输出格式

遇到水仙花数输出


样例输入

无输入

样例输出

例:
153
370
371
407

数据规模与约定

输入数据中每一个数的范围。
  例:100~999
时间限制:1.0s 内存限制:256.0MB


解答

1. 代码:

for i in range(100,1000):   #设定范围,i取值从100~999
    t=i                     #将i“放”进t里保存下来,假设此时i=123,则t=123
    g=i%10                  #个位是i对10取余得到的结果,即i%10=3
    i//=10                  #将个位“扔掉”,即i//10=12
    s=i%10                  #十位是扔掉个位后的i对i对10取余得到的结果,即i%10=2
    i//=10                  #将十位“扔掉”,得到百位,即i//10=1
    if g**3+s**3+i**3==t:   #x**3表示x的3次方
        print(t)

2. 重点知识:

  1. for循环遍历的范围设定:
    for i in range(a,b):就是从a到b-1
    for i in range(n):就是从0到n-1
  2. //表示向下取整得到为整数
    /则得到为浮点数
  3. x的n次方:x**n

别坐太久哦,脖子会痛,动一动,sincerely,end.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值