Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Counting Tiles by marcelina.gorzelana
import math
def checkio(radius):
res = [0, 4]
if radius > 1:
if radius < math.sqrt(2):
res[0] = 0
res[1] = 12
elif radius == math.sqrt(2):
res[0] = 4
res[1] = 8
else:
if radius <= 2:
res[0] = 4
res[1] = 12
else:
if radius < math.sqrt(5):
res[0] = 4
res[1] = 20
elif radius == math.sqrt(5):
res[0] = 12
res[1] = 12
else:
if radius < 2* math.sqrt(2):
res[0] = 12
res[1] = 20
elif radius == 2* math.sqrt(2):
res[0] = 16
res[1] = 16
else:
if radius <= 3:
res[0] = 16
res[1] = 20
else:
if radius < math.sqrt(10):
res[0] = 16
res[1] = 24
elif radius == math.sqrt(10):
res[0] = 24
res[1] = 20
else:
if radius < math.sqrt(13):
res[0] = 24
res[1] = 28
elif radius == math.sqrt(13):
res[0] = 32
res[1] = 20
else:
res[0] = 32
res[1] = 28
return res
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(2) == [4, 12], "N=2"
assert checkio(3) == [16, 20], "N=3"
assert checkio(2.1) == [4, 20], "N=2.1"
assert checkio(2.5) == [12, 20], "N=2.5"
Nov. 26, 2016