Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Feed Pigeons by klausfriedhain
def checkio(food):
pigeons,pigeons_to_come = 0,1
while pigeons+pigeons_to_come <= food: # Enough food left for all?
pigeons += pigeons_to_come # They are coming...
food -= pigeons # Feed 'em
pigeons_to_come += 1 # Next time there will be one more...
return max(pigeons,food) # Enough food left to feed a new one at least once?
if __name__ == '__main__':
#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"
Sept. 15, 2014