新增while版本

遞迴版本跑很慢所以新增while迴圈版本