-
-
[原创]2.LeetCode刷题-自除数
-
发表于: 2022-2-6 02:23 5090
-
自除数是指可以被它包含的每一位数除尽的数。也可以理解为,自除数对组成其本身的每一位数字进行取余结果都为0。
需要注意,自除数不允许包含 0 。
例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。
题目:现在,给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。请尝试编程解决
1、首先将这个数的每一个数字提取出来。
2、检查数字中是否存在0,如果存在,则判定不是自除数。
3、使用原数对每一位数字进行除法运算,判定是否存在余数非零结果。
def
yyds(left,right):
l
=
[]
for
num
in
range
(left,right
+
1
):
numStr
=
str
(num)
numList
=
list
(
str
(num))
res
=
True
for
item
in
numList:
itemNum
=
int
(item)
if
itemNum
=
=
0
:
res
=
False
break
if
num
%
itemNum !
=
0
:
res
=
False
if
res:
l.append(num)
return
lprint(yyds(
1
,
100
))
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
11
,
12
,
15
,
22
,
24
,
33
,
36
,
44
,
48
,
55
,
66
,
77
,
88
,
99
]
def
yyds(left,right):
l
=
[]
for
num
in
range
(left,right
+
1
):
numStr
=
str
(num)
numList
=
list
(
str
(num))
res
=
True
for
item
in
numList:
itemNum
=
int
(item)
if
itemNum
=
=
0
:
res
=
False
赞赏记录
参与人
雪币
留言
时间
koflfy
为你点赞~
2023-5-6 01:08
伟叔叔
为你点赞~
2023-3-18 04:12
一笑人间万事
为你点赞~
2023-1-12 20:30
赞赏
他的文章
- [原创]2.CTF刷题-进制转换+ASCII码 5814
- [原创]1.CTF刷题-ASCII码 6066
- [原创]1.CTF刷题-进制转换 6543
- [原创]3.LeetCode刷题-完全平方数 4977
- [原创]2.LeetCode刷题-自除数 5091
看原图
赞赏
雪币:
留言: