loop otimizado com while