Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # первое, максимально грубое решение
- for i in range(0,10):
- for j in range(0,10):
- for k in range(0,10):
- for l in range(0,10):
- for f in range(0,10):
- q = i,j,k,l
- n1 = int(''.join(str(x) for x in q))
- n2 = int(''.join(str(x) for x in q[::-1]))
- # проверка на то, что среди чисел нет повтора. Если есть хотя бы 2 одинаковых числа, то цикл переходит к следующей итерации
- if len(set(str(n1)+str(f)))!=5:
- continue
- if n1*f == n2:
- print(n1,"*",f,"=",n2)
- #второе, более элегантное и оптимизированное (часть честно сворована у @leopoldcat3719)
- for j in range(2,10):
- for i in range(1000,10000//j):
- scar = str(i)
- if len(set(scar+str(j)))==5 and int(scar[::-1]) == int(scar)*j:
- print(scar,'*',j,'=',scar[::-1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement