Bài Tập Java: In ra màn hình 4 số hoàn hảo đầu tiên.

Bài viết này tôi sẽ hướng dẫn cách giải quyết bài tập Java cơ bản in ra màn hình 4 số hoàn hảo đầu tiên. Nếu bạn chưa biết số hoàn hảo là gì hãy xem bài viết Số Hoàn Hảo là gì?

Lưu ý bạn nên chỉ viết chương trình cho tìm 4 số hoàn hảo đầu tiên thôi, vì bắt đầu từ số 5 thì nó đã là rất lớn, chưa nói tới chon số thứ 6 thứ 7. Nếu hem tin bạn có thể thử :)) nhưng có thể sẽ bị treo máy hoặc chờ hơi lâu ^^!


Dưới đây là 9 số hoàn hảo đầu tiên:

1: 6
2: 28
3: 496
4: 8.128
5: 33.550.336
6: 8.589.869.056
7: 137.438.691.328
8: 2.305.843.008.139.952.128
9: 2.658.455.991.569.831.744.654.692.615.953.842.176


Java Source - Mã Java:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package z.test;

/**
 *
 * @author bnson
 * @website vnlives.net
 * @create 02/12/2014
 */
public class FindPerfectNumber {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
       
        int soTangDan;
        int soHoanHao = 0;
        int soLuongSoHoanHao = 0;
        int tongUocSo;
       
        while(soLuongSoHoanHao < 4) {

            soHoanHao++;
           
            tongUocSo = 0;
           
            //Vòng For tìm các ước số của soHoanHao.
            for (soTangDan = 1; soTangDan < soHoanHao; soTangDan++) {
               
                //Nếu tìm thấy thì cộng vào tongUocSo;
                if (soHoanHao%soTangDan == 0) {
                    tongUocSo += soTangDan;
                }
            }
           
            //So sánh tongUocSo với soHoanHao đang kiểm tra.
            //Nếu bằng thì nó là số hoàn hảo ngược lại thì không phải.
            if (tongUocSo == soHoanHao) {
                System.out.println(soHoanHao);
                soLuongSoHoanHao++;
            }
           
        }
       
        System.exit(0);
   
    }
   
}


Result - Kết Quả:







No comments:

Post a Comment