Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để kiểm tra số Armstrong giữa hai số nguyên

Trong bài này, chúng ta sẽ hiểu cách hiển thị số Armstrong giữa hai số đã cho trong Java. Số Armstrong là một số có giá trị bằng tổng các lập phương của các chữ số riêng của nó.

Một số nguyên được gọi là số Amstrong có thứ tự n nếu mỗi chữ số được tách ra và lập phương và cộng lại thì tổng sẽ giống với số tức là abcd ... =a3 + b3 + c3 + d3 + ...

Trong trường hợp một số Amstrong có 3 chữ số thì tổng các lập phương của mỗi chữ số bằng chính số đó. Ví dụ:153 là một số Armstrong.

153 = 13 + 53 + 33

Ví dụ - 371 là số Armstrong.

371 = 27 + 343 + 1

Giả sử chúng ta muốn Số Armstrong giữa hai số. Dưới đây là một minh chứng về điều tương tự -

Đầu vào

Giả sử đầu vào của chúng tôi là -

1 & 500

Đầu ra

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

The Armstrong numbers between 1 and 500 are 1, 153, 370, 371, 407

Thuật toán

Step1- Start
Step 2- Declare four integers: my_input_1, my_input_2, i and sum
Step 3- Prompt the user to enter two integer value/ define the integers
Step 4- Read the values
Step 5- Run a for loop to generate Armstrong numbers using %, / and * operator
Step 6- Divide by 10 and get remainder for 'check' .
Step 7- Multiply 'rem' thrice, and add to 'sum', and make that the current ‘sum’.
Step 8- Divide 'check' by 10, and make that the current 'check'.
Step 9- Display the result
Step 10- Stop

Ví dụ 1

Ở đây, đầu vào đang được người dùng nhập dựa trên lời nhắc. Bạn có thể thử trực tiếp ví dụ này trong công cụ nền tảng mã hóa của chúng tôi Chương trình Java để kiểm tra số Armstrong giữa hai số nguyên .

import java.util.Scanner;
public class ArmstrongNumbers {
   public static void main(String args[]){
      int input_1, input_2, check, rem, sum, i;
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("Required packages have been imported");
      System.out.println("A scanner object has been defined ");
      System.out.println("Enter the first number :");
      input_1 = my_scanner.nextInt();
      System.out.println("Enter the limit :");
      input_2 = my_scanner.nextInt();
      System.out.println("The Armstorm numbers are :");
      for (i = input_1; i<input_2; i++){
         sum = 0;
         check = i;
         while(check != 0) {
            rem = check % 10;
            sum = sum + (rem * rem * rem);
            check = check / 10;
         }
         if(sum == i){
            System.out.println(i);
         }
      }
   }
}

Đầu ra

Required packages have been imported
A scanner object has been defined
Enter the first number :
1
Enter the limit :
500
The Armstorm numbers are :
1
153
370
371
407

Ví dụ 2

Ở đây, số nguyên đã được xác định 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 ArmstrongNumbers {
   public static void main(String args[]){
      int input_1, input_2, check, rem, sum, i;
      input_1 = 1;
      input_2 = 500;
      System.out.printf("The first number is %d and the limit is %d ", input_1, input_2);
      System.out.println("\nThe Armstorm numbers are :");
      for (i = input_1; i<input_2; i++){
         sum = 0;
         check = i;
         while(check != 0) {
            rem = check % 10;
            sum = sum + (rem * rem * rem);
            check = check / 10;
         }
         if(sum == i){
            System.out.println(i);
         }
      }
   }
}

Đầu ra

The first number is 1 and the limit is 500
The Armstorm numbers are :
1
153
370
371
407