Liệt kê tất cả các số hoàn hảo nhỏ hơn hoặc bằng một số nguyên dương cho trước trong Java

Lap trinh c++ Python

Một số nguyên dương là số hoàn hảo nếu tổng các ước số của nó (không tính chính nó) bằng chính nó. Ví dụ, số 6 là số hoàn hảo vì các ước số của nó (không tính chính nó) là 1, 2 và 3, và 1 + 2 + 3 = 6.

Dưới đây là mã Java để liệt kê tất cả các số hoàn hảo nhỏ hơn hoặc bằng một số nguyên dương cho trước:

public static void listPerfectNumbers(int n) {
    for (int i = 1; i <= n; i++) {
        int sum = 0;
        for (int j = 1; j < i; j++) {
            if (i % j == 0) {
                sum += j;
            }
        }
        if (sum == i) {
            System.out.print(i + " ");
        }
    }
}

Giải thích:

  • Hàm listPerfectNumbers có một tham số nguyên dương n, là giới hạn của các số hoàn hảo được liệt kê.
  • Vòng lặp bên ngoài duyệt qua các số từ 1 đến n.
  • Vòng lặp bên trong tính tổng các ước số của số đang xét, không tính chính nó.
  • Nếu tổng các ước số bằng chính số đó, in số đó ra màn hình.

Dưới đây là một ví dụ về cách liệt kê tất cả các số hoàn hảo nhỏ hơn hoặc bằng một số nguyên dương cho trước trong Java:

public class PerfectNumbers {

    public static void main(String[] args) {
        int limit = 10000;
        System.out.println("Các số hoàn hảo nhỏ hơn hoặc bằng " + limit + ":");
        for (int i = 1; i <= limit; i++) {
            if (isPerfectNumber(i)) {
                System.out.println(i);
            }
        }
    }

    public static boolean isPerfectNumber(int number) {
        int sum = 0;
        for (int i = 1; i < number; i++) {
            if (number % i == 0) {
                sum += i;
            }
        }
        return sum == number;
    }
}

Trong ví dụ này, chúng ta sử dụng một hàm isPerfectNumber để kiểm tra xem một số có phải là số hoàn hảo hay không. Hàm này duyệt qua tất cả các ước của số đó (từ 1 đến số đó trừ 1) và tính tổng các ước. Nếu tổng các ước bằng chính số đó, thì số đó là số hoàn hảo.

Trong hàm main, chúng ta liệt kê tất cả các số hoàn hảo nhỏ hơn hoặc bằng một số giới hạn (limit trong ví dụ này) bằng cách duyệt qua các số từ 1 đến giới hạn và kiểm tra từng số bằng cách gọi hàm isPerfectNumber. Các số hoàn hảo được in ra màn hình.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *