水仙花數的定義是,這個數等於他每一位數上的冪次之和 見維基百科的定義
比如乙個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
"""defgetnarcissisticnumbers
(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)])
):return nums
春天是鮮花的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的:「水仙花數」是指乙個三位數,它的各位數字的立方和等於其本身,比如: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)
**nwhile1:
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)])
):str(i)
)if nums:
print
(" "
.join(nums)
)else
:print
("no"
)except
:break
位元組跳動面試題
位元組跳動面試題 http協議 http協議是乙個應用層的協議,由請求和響應構成,使用統一資源識別符號來傳遞資料和建立連線 一次http請求的基本流程一般是,在建立tcp連線後,由客戶端向服務端發起一次請求 request 而伺服器在接收到以後返回給客戶端乙個響應 response 所以我們看到的h...
位元組實習面試題
題目 給定m個不重複的字元 a,b,c,d 以及乙個長度為n的字串tbcacbdata,問能否在這個字串中找到乙個長度為m的連續子串,使得這個子串剛好由上面m個字元組成,順序無所謂,返回任意滿足條件的乙個子串的起始位置,未找到返回 1。比如上面這個例子,返回3.public class findin...
位元組面試題 leetcode
給定乙個迴圈陣列 最後乙個元素的下乙個元素是陣列的第乙個元素 輸出每個元素的下乙個更大元素。數字 x 的下乙個更大的元素是按陣列遍歷順序,這個數字之後的第乙個比它更大的數,這意味著你應該迴圈地搜尋它的下乙個更大的數。如果不存在,則輸出 1。示例 1 輸入 1,2,1 輸出 2,1,2 解釋 第乙個 ...