題目:
728.自除數:
自除數 是指可以被它包含的每一位數除盡的數,
例如,128 是一個自除數,因為 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0,
還有,自除數不允許包含 0 ,
給定上邊界和下邊界數字,輸出一個串列,串列的元素是邊界(含邊界)內所有的自除數,
示例 1:
輸入:
上邊界left = 1, 下邊界right = 22
輸出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]
注意:
- 每個輸入引數的邊界滿足 1 <= left <= right <= 10000,
解題思路:
利用for回圈遍歷上下邊界中的所有數字,如果存在0,則該數不是自除數;如果某個數字存在一位數不能被整除,則該數不是自除數,其他數字都為自除數,內層for回圈若未正常執行完畢,觸發break退出,此時else不會執行,
代碼
class Solution:
def selfDividingNumbers(self, left: int, right: int) -> List[int]:
res = []
for n in range(left, right+1):
if '0' in str(n):
continue
for i in str(n):
if n % int(i) != 0:
break
else:
res.append(n)
return res

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/241846.html
標籤:python
上一篇:深入理解 CAS 演算法原理
下一篇:縱橫杯2020
