Hải định nghĩa một số
n
là số suy giảm khi các chữ số trongn
giảm dần.Ví dụ
4, 93, 321
là các số suy giảm, còn111, 322,...
không là các số suy giảm .Cho một trước một số nguyên dương
n
, hãy tìm và đưa ra số suy giảm nhỏ nhất lớn hơnn
. Nếu không có số nào thỏa mãn yêu cầu thì trả về-1
.
đây là code của e
def reduction_number(n):
l = []
ans = []
c=len(str(n))
for i in range(n+1,pow(10,c)):
a=list(map(int, str(i)))
a.sort(reverse=True)
b="".join(map(str,a))
if i == int(b):
l.append(i)
for i in l:
p = list(map(int,str(i)))
for o in p:
if p.count(o) >= 2:
p.remove(o)
p1="".join(map(str,p))
if i == int(p1):
ans.append(i)
return min(ans)
có cách nào để không phải dùng 2 vòng for lồng nhau ko ạ ?