Java에서 암스트롱 숫자를 확인하는 방법은 무엇입니까?

Java Eseo Amseuteulong Susjaleul Hwag Inhaneun Bangbeob Eun Mueos Ibnikka



암스트롱 수 ”는 숫자 패턴과 수학적 속성에 대한 통찰력을 제공합니다. 수 이론 개념을 이해하고 수 내에서 자기 참조 관계를 탐색하는 데 도움이 됩니다. 또한 데이터 또는 사용자 입력의 정확성을 보장하는 데 도움이 됩니다. 입력 무결성이 중요한 경우 유용할 수 있습니다.

이 블로그는 제공된 데이터에 대한 암스트롱 번호를 찾는 데 도움이 됩니다.







Java에서 암스트롱 숫자를 확인하는 방법은 무엇입니까?

암스트롱 수 ”는 특정 수학적 속성을 만족하는 숫자를 식별하기 위해 확인됩니다. 제공된 값이 자체 정수를 더한 값과 동일한 경우 제공된 값의 총 정수 수의 거듭제곱입니다.



이제 이해를 돕기 위해 몇 가지 예를 살펴보겠습니다.



예 1: 암스트롱 수 식별





제공된 번호가 암스트롱 번호인지 확인하려면 프로그램을 방문하십시오.

import java.util.Scanner;
// 필요한 유틸리티 가져오기.
공개 클래스 ArmstrongChecker {
공공 정적 무효 메인 ( [ ] 인수 )
// 메인 선언 ( ) 방법
{
스캐너 demoTest = 새 스캐너 ( 시스템인 ) ;
System.out.print ( '확인할 번호 입력: ' ) ;
int numEle = demoTest.nextInt ( ) ;

int origNum = numEle;
정수 숫자 = 0 ;
~하는 동안 ( origNum ! = 0 ) {
origNum / = 10 ;
숫자++;
}

정수 합집합 = 0 ;
정수 온도 = numEle;
~을 위한 ( 정수 i = 0 ; 나 < 숫자; 나++ ) {
정수 = 온도 % 10 ;
합집합 += Math.pow ( , 숫자 ) ;
온도 / = 10 ;
}

만약에 ( 합집합 == 이름 ) {
System.out.println ( 이름 + '는 암스트롱 수입니다.' ) ;
} 또 다른 {
System.out.println ( 이름 + '암스트롱 수에 대한 조건을 만족하지 않습니다.' ) ;
}
}
}


위 코드에 대한 설명:

    • 먼저 '에 대한 객체 스캐너 ” 클래스는 “를 사용하여 최종 사용자로부터 정수를 검색하도록 생성됩니다. 넥스트인트() ” 메서드를 호출하고 검색된 데이터를 “라는 변수에 저장합니다. 이름 '.
    • 다음으로 이 검색된 값은 '라는 이름의 int 유형 변수에 할당됩니다. origNum '라는 이름의 변수를 초기화합니다. 숫자 ' 와 함께 ' 0 '.
    • 그런 다음 ' ~하는 동안 origNum을 10으로 반복해서 나누고 origNum이 0이 될 때까지 매번 digits 변수를 증가시키는 루프를 사용합니다.
    • 그런 다음 '변수를 선언하십시오. 합집합 ” 값을 설정하고 “ 이름 ' 로 ' 온도 변수. 그리고 '를 활용합니다. ~을 위한 ”까지 반복되는 루프 숫자 ” 변수 값.
    • 그리고 각 'for' 루프 반복에서 '의 마지막 숫자는 온도 '는 모듈러스 연산자를 사용하여 추출되어 새 변수 '에 저장됩니다. '. 그런 다음 숫자의 큐브가 '에 추가됩니다. 합집합 ” 변수는 Math.pow() 메서드를 사용합니다.
    • 결국 “ 다른 경우라면 ” 문은 계산된 합계가 사용자가 원래 제공한 숫자와 같은지 여부를 확인하는 데 사용됩니다. 두 값이 같으면 제공된 숫자는 암스트롱 숫자이고 그 반대도 마찬가지입니다.

컴파일 후:


출력은 제공된 숫자가 암스트롱 숫자임을 보여줍니다.

예제 2: 제공된 제한 내에서 모든 상주 암스트롱 번호 찾기

제공된 값 또는 한계에 대한 모든 암스트롱 숫자를 찾으려면 아래 코드를 방문하십시오.

import java.util.Scanner;
import java.lang.Math;

공개 클래스 ArmstsrongNumberExample
{
정적 부울 isArmsNum ( 정수 j ) {
정수 버프, 싱디그 = 0 , = 0 , 계산 = 0 ;
버프 =j;
~하는 동안 ( 버프 > 0 ) {
버프 = 버프 / 10 ;
싱디그++;
}
버프 = j;
~하는 동안 ( 버프 > 0 )
{
끝 = 버프 % 10 ;
계산 += ( Math.pow ( 끝, singDig ) ) ;
버프 = 버프 / 10 ;
}
만약에 ( 제이 ==계산 )
반품 진실 ;
또 다른 반품 거짓 ;
}
공공 정적 무효 메인 ( 문자열 인수 [ ] )
// 메인 선언 ( ) 방법
{
int proNum;
스캐너 sc = 새 스캐너 ( 시스템인 ) ;
System.out.print ( '상한값 삽입: ' ) ;
프로넘 =sc.nextInt ( ) ;
System.out.println ( '제공된 한도까지의 암스트롱 수' + 프로넘 + ' 이다: ' ) ;
~을 위한 ( 정수 케이 = 0 ; 케이 < =forNum; k++ )
만약에 ( isArmsNum ( 케이 ) )
System.out.print ( k+ ', ' ) ;
}
}


위 코드에 대한 설명:

    • 먼저 “buff”, “singDig”, “end”, “calc” 타입의 여러 변수를 선언합니다. 정수 ', '라는 부울 유형 메소드 내부 isArmsNum() '. '라는 변수에 할당된 매개변수를 받습니다. 버프 '.
    • 다음으로 “ ~하는 동안 ” 버프 값이 “ 0 '. 그 후, “ 버프 '는 '에 의한 계수입니다. 10 ”를 입력하여 제공된 값에서 마지막 숫자를 제거하고 “ 싱디그 변수.
    • 그런 다음 ' ~하는 동안 ” 루프는 “ 버프 ” 변수를 사용하여 마지막 숫자를 추출합니다. 숫자의 세제곱은 ' 수학. 펑() ” 메서드를 추가한 다음 “ 계산 변수.
    • 이제 “ 만약에 ” 문은 “에서 계산된 값이 계산 ” 변수는 최종 사용자가 제공한 값과 같거나 같지 않습니다. 또한 그에 따라 메시지를 표시하십시오.
    • 그 후 최종 사용자의 입력은 ' 스캐너 ”의 유틸리티 기본() ' 방법.
    • 결국 “ ~을 위한 ” 루프를 활용하여 제공된 값까지 반복하며 각 반복을 “ isArmsNum() ' 방법. 이 메소드는 제공된 값에 도달할 때까지 모든 값을 수신하고 암스트롱 수에 대한 각 값을 확인합니다.

컴파일 후:


출력은 '인 제공된 값까지 모든 암스트롱 숫자를 표시합니다. 370 ” 이 경우.

결론

암스트롱 번호를 찾으려면 먼저 제공된 번호에 포함된 숫자를 세십시오. 그런 다음 모듈러스 및 나눗셈 연산을 사용하여 제공된 숫자에서 각 숫자를 하나씩 추출합니다. 다음으로 값의 각 정수를 총 정수 수의 거듭제곱으로 올리고 결과 값을 새 변수에 추가합니다. 마지막으로 얻은 변수 값이 제공된 숫자와 같은지 확인하고, 같으면 제공된 숫자가 암스트롱 숫자이고 그렇지 않으면 그렇지 않습니다.