Số Armstrong trong Java

Học lập trình web

Số Armstrong (hay số Narcissistic) là một số tự nhiên mà tổng lập phương các chữ số của nó bằng chính nó. Dưới đây là một ví dụ về số Armstrong:

Ví dụ: số 153 là một số Armstrong vì 1^3 + 5^3 + 3^3 = 153.

Để kiểm tra một số có phải là số Armstrong trong Java, bạn có thể sử dụng các bước sau:

  1. Chuyển số nguyên thành một chuỗi ký tự để tiện xử lý.
  2. Duyệt qua từng ký tự trong chuỗi và tính lũy thừa các chữ số.
  3. Tính tổng các lũy thừa các chữ số đã tính.
  4. So sánh tổng với số ban đầu để kiểm tra xem nó có bằng nhau hay không.

Dưới đây là một ví dụ Java cho việc kiểm tra số Armstrong:

public class Main {
    public static boolean isArmstrong(int number) {
        String strNumber = String.valueOf(number);
        int n = strNumber.length();
        int sum = 0;
        
        for (int i = 0; i < strNumber.length(); i++) {
            int digit = Character.getNumericValue(strNumber.charAt(i));
            sum += Math.pow(digit, n);
        }
        
        return sum == number;
    }

    public static void main(String[] args) {
        int number = 153;
        boolean isArmstrong = isArmstrong(number);
        
        if (isArmstrong) {
            System.out.println(number + " là số Armstrong.");
        } else {
            System.out.println(number + " không là số Armstrong.");
        }
    }
}

Trong ví dụ này, số 153 được chuyển thành chuỗi “153”. Tiếp theo, chúng ta duyệt qua từng ký tự trong chuỗi, chuyển đổi chúng thành số nguyên bằng phương thức Character.getNumericValue() và tính lũy thừa của các chữ số bằng phương thức Math.pow(). Cuối cùng, chúng ta so sánh tổng với số ban đầu để kiểm tra xem số đó có phải là số Armstrong hay không.

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 *