目录
python水仙花数
一、题目要求
1、编程实现
2、输入输出
二、算法分析
三、程序编写
四、程序说明
五、运行结果
六、考点分析
七、 推荐资料
1、蓝桥杯比赛
2、考级资料
3、其它资料
python水仙花数
第十二届蓝桥杯青少年组python比赛省赛真题
一、题目要求
(注:input()输入函数的括号中不允许添加任何信息)
1、编程实现
“水仙花数”是指一个三位正整数,其各位数字立方的和等于该数本身。
例如:153是一个“水仙花数”,因为1+5+3等于153。
2、输入输出
输入描述:只有一行,输入一个正整数N(100<N<1000)
输出描述:只有一行,输出100到N之间(包含100和N)有多少个“水仙花数”
输入样例:
160
输出样例:
1
二、算法分析
- 题目相对而言难度不大,主要是如何拆解三位数
- 利用for循环从100逐个遍历到n,然后将每个遍历到的数字拆解出对应的百位、十位和个位
- 接着判断百位立方加十位立方加个位立方是否等于当前这个数
- 如果是 统计个数加1
三、程序编写
n = int(input())
count = 0
for i in range(100,n + 1):
a = i // 100
b = i // 10 % 10
c = i % 10
if a*a*a + b*b*b + c*c*c == i:
count += 1
print(count)
四、程序说明
- 利用input输入函数从键盘获取糖果罐数
- 利用int函数将n转换成整数类型
- 利用for循环从100开始逐个进行遍历,一直到n+1
- 然后依次拆解出对应的百位a,十位b和个位c
- 接着利用if条件判断语句判断a立方+b立方+c立方是否等于i
- 是,统计变量count+1
- 最后通过print函数输出count即可
五、运行结果
160
1
999
4
六、考点分析
难度级别:一般,这题相对而言有一点小难度,在于如何拆解多位数,具体主要考查如下:
- 学会分析题目,找到解题思路
- 学会简单的算法知识的应用
- input函数:Python 中 input() 函数接受一个标准输入数据,返回为 string 类型。
- int函数:强制将传入对象转换成整数类型
- 学会如何拆解多位数的每一位(利用整除和取余运算)
- 学会for循环的使用:for循环可以遍历任何有序的项及列表元素等等。
- range函数:rang(a,b),循环的时候是不包括b的,所以我们这个案例中要转变一下,要想包含b,就应该写成range(a,b+1)
- 学会if...条件判断语句的使用:满足条件才执行相应的程序
- print函数:用于打印输出,最常见的一个函数。
- 充分掌握多位数的拆解、for循环、条件判断和输入输出相关操作函数的使用
PS:方式方法有多种,小朋友们只要能够达到题目要求即可!
七、 推荐资料
- 所有考级比赛学习相关资料合集【推荐收藏】
1、蓝桥杯比赛
-
蓝桥杯python选拔赛真题详解
-
蓝桥杯python省赛真题详解
-
蓝桥杯python国赛真题详解
-
历届蓝桥杯科技素养计算思维真题解析
2、考级资料
-
python等级一级真题解析【电子学会】
-
python等级二级真题解析【电子学会】
-
python等级三级真题解析【电子学会】
-
python等级四级真题解析【电子学会】
3、其它资料
-
初学python100例
- 历届蓝桥杯scratch国赛真题解析
- 历届蓝桥杯scratch省赛真题解析
- 历届蓝桥杯scratch STEMA选拔赛真题解析
- 历届蓝桥杯科技素养计算思维真题解析
- 画图-scratch编程考级99图
- 电子学会历年scratch等级考试一级真题解析
- 电子学会历年scratch等级考试二级真题解析
- 电子学会历年scratch等级考试三级真题解析
- 电子学会历年scratch等级考试四级真题解析
- 零基础学习scratch3.0【入门教学 免费】
- 零基础学习scratch3.0【视频教程 114节 免费】