Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Ghosts Age by MaxGraey
from math import sqrt
def isSqr(x):
return x == int(sqrt(x)) ** 2
def isFib(x):
return isSqr(5 * x*x + 4) or isSqr(5 * x*x - 4)
def checkio(opacity):
c = 10000
x = 0
while(1):
c -= x if isFib(x) else -1
if c == opacity:
return x
x += 1
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(10000) == 0, "Newborn"
assert checkio(9999) == 1, "1 year"
assert checkio(9997) == 2, "2 years"
assert checkio(9994) == 3, "3 years"
assert checkio(9995) == 4, "4 years"
assert checkio(9990) == 5, "5 years"
March 21, 2014
Comments: