을미년 복면산

Python 2015. 4. 27. 00:33

http://pomp.tistory.com/908http://pomp.tistory.com/908


for i in range(10):
	for j in range(10):
		for k in range(10):
			for l in range(10):
				while (i * 1000) + (j * 100) + (k * 10) + l != (i ** (k * 10 + k)) + (i * 10) + i - (l * 10) - l:
					break
				else:
					print((i * 1000) + (j * 100) + (k * 10) + l)
노가다
break 대신 pass를 사용하면 안 된다. else 없이 print만 써도 안 된다. (둘 다 이유 모름)

import itertools
a = range(10)
for i, j, k, l in itertools.product(a, a, a, a):
	b = (i * 1000) + (j * 100) + (k * 10) + l
	c = (i ** (k * 10 + k)) + (i * 10) + i -(l * 10) - l
	while b != c:
		break
	else:
		print(b)

최대한 간단하게

itertools라는 걸 사용. (이유 모름[각주:1]) (a, a, a, a)도 간단하게 될 수 있나.



  1. http://stackoverflow.com/questions/18648626/python-for-loop-with-two-variables [본문으로]
comments powered by Disqus

설정

트랙백

댓글