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

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

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. 编程进阶选手

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

链接地址牛客网 | 专项练习
在这里插入图片描述
速度上号,大家一起冲击大厂,有疑问评论区留言解答!!!
相关文章
|
1月前
|
Java 程序员 C++
Python找出水仙花数
Python找出水仙花数
26 0
|
1月前
|
Python
python水仙花数实现
python水仙花数实现
|
2月前
|
Python
用python画一个水仙花
用python画一个水仙花
75 2
|
3月前
|
Python 人工智能
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
50 1
讯飞星火、文心一言和通义千问同时编“贪吃蛇”游戏,谁会胜出?
|
3月前
|
Shell Unix Linux
Linux 终端命令之文件浏览(3) less
Linux 终端命令之文件浏览(3) less
30 0
Linux 终端命令之文件浏览(3) less
|
3月前
|
Rust
Rust 编程小技巧摘选(8)
Rust 编程小技巧摘选(8)
65 0
Rust 编程小技巧摘选(8)
|
3月前
|
算法 C++ 机器人
力扣 C++|一题多解之动态规划专题(1)
力扣 C++|一题多解之动态规划专题(1)
41 0
力扣 C++|一题多解之动态规划专题(1)
|
3月前
|
C++ Python 索引
Python Numpy入门基础(二)数组操作
Python Numpy入门基础(二)数组操作
29 0
Python Numpy入门基础(二)数组操作
|
3月前
|
C++ 存储
力扣C++|一题多解之数学题专场(1)
力扣C++|一题多解之数学题专场(1)
23 0
力扣C++|一题多解之数学题专场(1)
|
3月前
|
Java Go C++
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分
28 0
Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分