Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

두 간격 사이에 암스트롱 수를 표시하는 Java 프로그램

<시간/>

이 기사에서는 Java에서 주어진 두 숫자 사이에 암스트롱 숫자를 표시하는 방법을 이해합니다. 암스트롱 수는 자신의 자릿수 세제곱의 합과 같은 수입니다.

정수를 n차의 암스트롱 수라고 하며 모든 자릿수가 분리되고 세제곱되고 합산된 경우 합계는 숫자와 동일합니다. 즉, abcd... =a3 + b3 + c3 + d3 + ...

Armstrong 숫자가 3자리인 경우 각 숫자의 세제곱합은 숫자 자체와 같습니다. 예:153은 암스트롱 번호입니다.

153 = 13 + 53 + 33

예:370은 암스트롱 번호입니다.

370 = 27 + 343 + 0

아래는 동일한 데모입니다 -

입력

입력이 -

라고 가정합니다.
1 & 500

출력

원하는 출력은 -

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

알고리즘

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

예시 1

여기에서 입력은 프롬프트에 따라 사용자가 입력하고 있습니다. 우리코딩 그라운드 도구에서 이 예제를 라이브로 사용해 볼 수 있습니다. 두 간격 사이에 암스트롱 수를 표시하는 Java 프로그램 .

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);
         }
      }
   }
}

출력

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

예시 2

여기서 정수는 이전에 정의되었으며 그 값은 콘솔에 액세스되어 표시됩니다.

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);
         }
      }
   }
}

출력

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