Hải định nghĩa một số
nlà số suy giảm khi các chữ số trongngiảm dần.Ví dụ
4, 93, 321là 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 ạ ?
… cho đến 9’876’543’210 (lớn nhất)
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?