【字节面试题】求水仙花数面试题 撸它
2021/5/12 18:28:17
本文主要是介绍【字节面试题】求水仙花数面试题 撸它,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
想要看更加舒服的排版、更加准时的推送
关注公众号“不太灵光的程序员”
每日八点有干货推送,微信随时解答你的疑问
Lintcode 147: 求水仙花数
水仙花数的定义是,这个数等于他每一位数上的幂次之和 见维基百科的定义
比如一个3位的十进制整数153就是一个水仙花数。因为 153 = 13 + 53 + 33。
而一个4位的十进制数1634也是一个水仙花数,因为 1634 = 14 + 64 + 34 + 44。
给出n,找到所有的n位十进制水仙花数。
样例
样例 1:
输入: 1
输出: [0,1,2,3,4,5,6,7,8,9]
样例 2:
输入: 2
输出: []
样例解释: 没有2位数的水仙花数。
注意事项
你可以认为n小于8。
源代码
class Solution: """ @param n: The number of digits @return: All narcissistic numbers with n digits """ def getNarcissisticNumbers(self, n): func = lambda x: int(x)**n nums = [] for i in range((10**(n-1))-1, 10**n): if i == sum(map(func, [c for c in str(i)])): nums.append(i) return nums
字节ZJ17: 水仙花数
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。 现在要求输出所有在m和n范围内的水仙花数。
输入描述:
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
输出描述:
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;如果给定的范围内不存在水仙花数,则输出no;每个测试实例的输出占一行。
示例1
输入
100 120
300 380
输出
no
370 371
func = lambda x: int(x)**n while 1: try: n, m = list(map(int, input().split())) nums = [] for i in range(n, m+1): if i == sum(map(func, [c for c in str(i)])): nums.append(str(i)) if nums: print(" ".join(nums)) else: print("no") except: break
推荐阅读:
- Pandas对海平面温度异常进行分析
- 机器学习中必须要会用的模块
- 这些基础题你能答上来几个?
-
还不知道怎么运行Python代码,快来撸代码
这篇关于【字节面试题】求水仙花数面试题 撸它的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28一步到位:购买适合 SEO 的域名全攻略
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南
- 2024-12-27JWT单点登录原理学习入门