We develop a few methods for computing the Moore-Penrose inverse, based on full-rank factorizations which arise from different block decompositions of rectangular matrices. In this way, the paper is a continuation of the previous works given by Noble [5] and Tewarson [10]. We compare the obtained results with the known block representations of the Moore-Penrose inverse. Moreover, efficient block representations of the weighted Moore-Penrose inverse are introduced using the same principles.