Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Saw the Stick by kazuki.h
def checkio(number):
l=[0]
triangle_number=[]
n=1
while not(l[-1]-number in l):
if n*(n+1)/2>number:
break
l.append(n*(n+1)*(n+2)/6)
triangle_number.append(int(n*(n+1)/2))
n+=1
else:
if number==triangle_number[-1]:
return [number]
else:
m=l.index(l[-1]-number)
return triangle_number[m:]
return []
Jan. 8, 2020