程序可能不是很严紧,但其本原理就是这样了