body = [[0,1],[1,0],[1,2], [2,1],[0,-1],[-1,0],[-1,-2], [-2,-1]]
from functools import cmp_to_key
def comp(b1, b2):
#usporiadame podľa polroviny, v ktorej ležia, a v rámci nej podľa znamienka vektorového súčinu.
if b1[0] < 0 < b2[0]:
return -1
if b1[0] > 0 > b2[0]:
return 1
x = b1[0]*b2[1]-b1[1]*b2[0] #z-ova zlozka vektorveho sucinu (cross product, b1 x b2)
if x > 0:
return 1
elif x < 0:
return -1
return 0
sorted(body, key=cmp_to_key(comp))
from math import atan2
atan2(7,3)
p = sorted(body, key=cmp_to_key(comp))
for b in p:
print(atan2(b[0], b[1]))
from random import randint
randint(1, 15)
body=[[randint(-100,100), randint(-100,100)] for _ in range(30)]
p = sorted(body, key=cmp_to_key(comp))
for b in p:
print(atan2(b[0], b[1]))
for i in [10, 100, 1000]:
print(2.**i)
print(1.4656**i)
print(3**(i/3))
print()
n = 24
n**2*2**n < 10**10