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

Chương trình Java để hiển thị số Armstrong giữa hai khoảng thời gian

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ố tách biệt nhau ra và được lập phương và cộng lại thì tổng sẽ giống như 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ụ:370 là số Armstrong.

370 = 27 + 343 + 0

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 để hiển thị số Armstrong giữa hai khoảng thời gian .

import java.util.Scanner;
public class ArmstrongNumbers {
   public static void main(String args[]){
      int my_low, my_high, check, my_rem, my_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 :");
      my_low = my_scanner.nextInt();
      System.out.println("Enter the limit :");
      my_high = my_scanner.nextInt();
      System.out.println("The Armstrong numbers are :");
      for (i = my_low; i<my_high; i++){
         my_sum = 0;
         check = i;
         while(check != 0) {
            my_rem = check % 10;
            my_sum = my_sum + (my_rem * my_rem * my_rem);
            check = check / 10;
         }
         if(my_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 Armstrong 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 my_low, my_high, check, my_rem, my_sum, i;
      my_low = 1;
      my_high = 500;
      System.out.printf("The first number is %d and the limit is %d ", my_low, my_high);
      System.out.println("\nThe Armstrong numbers are :");
      for (i = my_low; i<my_high; i++){
         my_sum = 0;
         check = i;
         while(check != 0) {
            my_rem = check % 10;
            my_sum = my_sum + (my_rem * my_rem * my_rem);
            check = check / 10;
         }
         if(my_sum == i){
            System.out.println(i);
         }
      }
   }
}

Đầu ra

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