Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Feed Pigeons by yamauk
# migrated from python 2.7
def checkio(number):
n = 1
while number - sum_portions(n) > 0:
n += 1
return max(num_pigeons(n) + min(number - sum_portions(n), 0),
num_pigeons(n - 1))
def sum_portions(n):
return n * (n + 1) * (n + 2) / 6
def num_pigeons(n):
return n * (n + 1) / 2
if __name__ == '__main__':
print(checkio(5))
# These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio(1) == 1, "1st example"
assert checkio(2) == 1, "2nd example"
assert checkio(5) == 3, "3rd example"
assert checkio(10) == 6, "4th example"
May 8, 2015
Comments: