이 기사에서는 Java에서 주어진 두 숫자 사이에 암스트롱 숫자를 표시하는 방법을 이해합니다. 암스트롱 수는 자신의 자릿수 세제곱의 합과 같은 수입니다.
정수를 n차의 암스트롱 수라고 하며 모든 자릿수가 분리되고 세제곱되고 합산된 경우 합계는 숫자와 동일합니다. 즉, abcd... =a3 + b3 + c3 + d3 + ...
Armstrong 숫자가 3자리인 경우 각 숫자의 세제곱합은 숫자 자체와 같습니다. 예:153은 암스트롱 번호입니다.
153 = 13 + 53 + 33
예를 들어 - 371은 암스트롱 번호입니다.
371 = 27 + 343 + 1
두 숫자 사이에 암스트롱 숫자가 필요하다고 가정해 보겠습니다. 아래는 동일한 데모입니다 -
입력
입력이 -
라고 가정합니다.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
여기에서 입력은 프롬프트에 따라 사용자가 입력하고 있습니다. 우리코딩 그라운드 도구에서 이 예제를 라이브로 사용해 볼 수 있습니다.
.
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);
}
}
}
} 출력
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
예시 2
여기서 정수는 이전에 정의되었으며 그 값은 콘솔에 액세스되어 표시됩니다.
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);
}
}
}
} 출력
The first number is 1 and the limit is 500 The Armstorm numbers are : 1 153 370 371 407