Python每日一练——第1天:水仙花数

举报
袁袁袁袁满 发表于 2022/06/28 20:51:41 2022/06/28
【摘要】 1. 问题描述水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。1、水仙花数是一个三位数:111 333 456 999 5302、水仙花数的个位、十位、百位的数字立方和等于原数小伙伴们看了问题描述后,一定要自己先练习,再去看博主的代码和解题思路,才能提高自己的编程水平,全靠自觉哟!...

1. 问题描述

水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。


1、水仙花数是一个三位数:111 333 456 999 530
2、水仙花数的个位、十位、百位的数字立方和等于原数



在这里插入图片描述
小伙伴们看了问题描述后,一定要自己先练习,再去看博主的代码和解题思路,才能提高自己的编程水平,全靠自觉哟!!!
在这里插入图片描述

2. 问题分析

怎么获取个位、十位、百位上的数?

  • 个位数
    37==1== :就是原始数字对10进行取余的运算结果 37==1== % 10 = ==1==

  • 十位数
    3==7==1:3==7==1通过除以10,可以将7移动到个位上去(整数):3==7==1 // 10 = 3==7==
    3==7==:3==7==对10进行取余可以得到最后一位的值==7== :3==7== % 10 = ==7==

  • 百位数
    ==3==71:==3==就是原始数字除以100的结果(整除):==3==71 // 100 = ==3==

  • 思考:任意数字的指定位置上的数值如何求?
    1234==5==6789:先10000得到1234==5==;再对10取余得到==5==

3. 算法思路

1. 使用循环从100开始到999结束


2. 每次的循环体内,获取百位数数字、十位数数字、个位数数字


3. 判断百位数数字三次方加十位数数字的三次方加个位数数字的三次方是否等于它本身,如果是就是水仙花数。

4. 代码实现

for循环代码实现

实现代码📝:

print('100到1000之前的所有水仙花数如下:')
for i in range(100, 1000):
    # 取百位数字 371 // 100 = 3
    x = i // 100
    # 取十位数 371 // 10 =3 7; 37 % 10 = 7
    y = i // 10 % 10
    # 取个位数 371 % 10 = 1
    z = i % 10
    # 判断个位、十位、百位的数字立方和等于原数
    if x ** 3 + y ** 3 + z ** 3 == i:
        print(f'{i}是水仙花数')

运行结果👇:

这里是引用

while循环代码实现

实现代码📝:

print('100到1000之前的所有水仙花数如下:')
number = 100
while number < 1000:
    # 取百位数字 371 // 100 = 3
    x = number // 100
    # 取十位数 371 // 10 =3 7; 37 % 10 = 7
    y = number // 10 % 10
    # 取个位数 371 % 10 = 1
    z = number % 10
    # 判断个位、十位、百位的数字立方和等于原数
    if x ** 3 + y ** 3 + z ** 3 == number:
        print(f'{number}是水仙花数')
    # 需要设置number每次加一
    number += 1

运行结果👇:

这里是引用

5. 如何让刷题变得更加高效呢?

1. 编程小白选手


很多刚入门编程的小白学习了基础语法,却不知道语法的用途,不知道如何加深映像,不知道如何提升自己,这个时候每天刷自主刷一道题就非常重要(百炼成神),可以去牛客网上的编程初学者入门训练。该专题为编程入门级别,适合刚学完语法的小白练习,题目涉及编程基础语法,基本结构等,每道题带有练习模式和考试模式,可还原考试模式进行模拟,也可通过练习模式进行练习。


链接地址牛客网 | 编程初学者入门训练
在这里插入图片描述
2. 编程进阶选手


当基础练习完已经逐步掌握了各知识要点后,这个时候去专项练习中学习数据结构、算法基础、计算机基础等。先从简单的入手,感觉上来了再做中等难度,以及较难的题目。这三样是面试中必考的知识点,我们只有坚持每日自己去多加练习,拒绝平躺持续刷题,不断提升自己才能冲击令人满意的公司。


链接地址牛客网 | 专项练习
在这里插入图片描述
速度上号,大家一起冲击大厂,有疑问评论区留言解答!!!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200