def conflict(state, nextX):
nextY = len(state)
for i
in range(nextY):
if abs(state[i] - nextX)
in (
0, nextY - i):
return True
return False
def queens(num=8, state=()):
for pos
in range(num):
if not conflict(state, pos):
if len(state) == num -
1:
yield (pos, )
else:
for result
in queens(num, state+(pos,)):
yield (pos,) + result
print(list(queens(
8)))
print(len(list(queens(
8))))
def fib1(max):
res = []
n, a, b =
0,
0,
1
while n < max:
res.append(a + b)
a, b = b, a + b
n +=
1
return res
def fib2(max):
n, a, b =
0,
0,
1
while n < max:
yield b
a, b = b, a + b
n +=
1
f1 = fib1(
5)
print(f1)
for i
in fib2(
10):
print(i)