def icrt( n) :
"""Integer cube root
Newton–Raphson method
"""
#XXX BROKEN
prev, r = 0 , n
while prev != r:
prev, r = r, 2 *r//3 + n//( 3 *r*r)
return r
def icroot( a) :
#XXX BROKEN
c = a
b = 2 *c//3 +a//( 3 *c*c)
while ( abs ( b-c) >= 1 ) :
c = b
b = 2 *c//3 +a//( 3 *c*c)
return b
print ( icroot( 1 ) )
print ( icrt( 1 ) )
ZGVmIGljcnQobik6CiAgICAiIiJJbnRlZ2VyIGN1YmUgcm9vdAogICAgCiAgICBOZXd0b27igJNSYXBoc29uIG1ldGhvZAogICAgIiIiCiAgICAjWFhYIEJST0tFTgogICAgcHJldiwgciA9IDAsIG4KICAgIHdoaWxlIHByZXYgIT0gcjoKICAgICAgICBwcmV2LCByID0gciwgMipyLy8zICsgbi8vKDMqcipyKQogICAgcmV0dXJuIHIKICAgIAogICAgCmRlZiBpY3Jvb3QoYSk6CiAgICAjWFhYIEJST0tFTgogICAgYyA9IGEKICAgIGIgPSAyKmMvLzMrYS8vKDMqYypjKQogICAgd2hpbGUgKGFicyhiLWMpID49IDEpIDoKICAgIAljID0gYgogICAgCWIgPSAyKmMvLzMrYS8vKDMqYypjKQogICAgcmV0dXJuIGIKCnByaW50KGljcm9vdCgxKSkKcHJpbnQoaWNydCgxKSk=