Не могу решить задание с codeforces "красивый год"
помогите решить задание с CodeForces. Не могу придумать способ проверки различности цифр в числе. Пробовал через множества, однако ничего не получилось
year=[i+1 for i in range(999, 10000)]
lucky_year=set()
for i in range(1000, len(year)):
god=list(map(int, str(int(i))))
print(god)
for j in god:
lucky_year.add(j)
print(lucky_year)
Ответы (3 шт):
Автор решения: Jazzis
→ Ссылка
Сделал через рекурсию: просто проверяете разность кол-ва всех цифр и кол-ва уникальных цифр в следующем году.
def lucky_year(year):
year_plus = year + 1
if len(str(year_plus)) == len(set(str(year_plus))):
return year_plus
return lucky_year(year_plus)
lucky_year(1987)
# 2013
Автор решения: ppontmercy
→ Ссылка
Как-то так.
y = input()
def checkfun(string):
for i in range(len(string) - 1):
for j in range(i+1, len(string)):
if y[i] == y[j]:
return False
return True
while True:
y = int(y)
y += 1
y = str(y)
if not checkfun(y):
continue
else:
print(y)
break
Автор решения: skybea7
→ Ссылка
lucky_year = set()
a = []
y = int(input())
for i in range(1000, 9013):
god = list(map(int, str(int(i))))
for j in god:
lucky_year.add(j)
if len(lucky_year) == 4:
a.append(i)
lucky_year.clear()
for i in a:
if y<i:
print(i)
break
