Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương Trình Java Kiểm Tra Số Armstrong


Trong bài viết này, chúng ta sẽ tìm hiểu cách kiểm tra xem một số cho trước có phải là số Armstrong hay không. Số Armstrong là số bằng tổng lập phương các chữ số của chính nó.

Một số nguyên được gọi là số Armstrong bậc n nếu tách từng chữ số, lập phương và cộng lại thì tổng bằng chính số đó: abcd... = a³ + b³ + c³ + d³ + ...

Trong trường hợp số Armstrong 3 chữ số, tổng lập phương các chữ số bằng chính số đó. Ví dụ: 153 là số Armstrong.

153 = 1³ + 5³ + 3³

Ví dụ khác: 371 là số Armstrong.

Dưới đây là minh họa:

Đầu vào

Giả sử đầu vào của chúng ta là:

Nhập số: 407

Đầu ra

Đầu ra mong muốn sẽ là:

407 là số Armstrong

Thuật Toán

Bước 1 - BẮT ĐẦU
Bước 2 - Khai báo bốn biến nguyên my_input, my_temp, my_remainder, my_result
Bước 3 - Đọc giá trị từ người dùng hoặc định nghĩa giá trị
Bước 4 - Chạy vòng while để kiểm tra số Armstrong bằng %, / và * toán tử
Bước 5 - Chia 10 và lấy dư cho 'check'
Bước 6 - Nhân 'rem' ba lần, cộng vào 'sum', làm 'sum' hiện tại
Bước 7 - Chia 'check' cho 10, làm 'check' hiện tại. Lưu giá trị kết quả
Bước 8 - Nếu giá trị kết quả bằng giá trị đầu vào, đó là số Armstrong, ngược lại không phải
Bước 9 - Hiển thị kết quả
Bước 10 - DỪNG

Ví Dụ 1

Ở đây, đầu vào được nhập bởi người dùng dựa trên nhắc nhở. Bạn có thể thử ví dụ này trực tiếp trong công cụ coding ground của chúng tôi.

import java.util.Scanner;
public class IsArmstrong {
    public static void main(String[] args) {
        int my_input, my_temp, my_remainder, my_result;
        my_result = 0;
        System.out.println("Các gói cần thiết đã được nhập");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("Đối tượng đọc đã được định nghĩa");
        System.out.print("Nhập số: ");
        my_input = my_scanner.nextInt();
        my_temp = my_input;
        while (my_temp != 0) {
            my_remainder = my_temp % 10;
            my_result += Math.pow(my_remainder, 3);
            my_temp /= 10;
        }
        if (my_result == my_input)
            System.out.println(my_input + " là số Armstrong");
        else
            System.out.println(my_input + " không phải số Armstrong");
    }
}

Đầu Ra

Các gói cần thiết đã được nhập
Đối tượng đọc đã được định nghĩa
Nhập số: 407
407 là số Armstrong

Ví Dụ 2

Ở đây, số nguyên đã được định nghĩa trước, và giá trị của nó được truy cập và hiển thị trên bảng điều khiển.

public class IsArmstrong {
    public static void main(String[] args) {
        int my_input, my_temp, my_remainder, my_result;
        my_input = 407;
        my_result = 0;
        System.out.println("Số được định nghĩa là " + my_input);
        my_temp = my_input;
        while (my_temp != 0) {
            my_remainder = my_temp % 10;
            my_result += Math.pow(my_remainder, 3);
            my_temp /= 10;
        }
        if (my_result == my_input)
            System.out.println(my_input + " là số Armstrong");
        else
            System.out.println(my_input + " không phải số Armstrong");
    }
}

Đầu Ra

Số được định nghĩa là 407
407 là số Armstrong