English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 프로세스 제어

Java 배열

Java 상대적 객체(I)

Java 상대적 객체(II)

Java 상대적 객체(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 프로그램이 아르만드 수를 확인

Java 예제 모든 것

이 프로그램에서는 주어진 숫자가 아르만드 수인지 확인하는 방법을 배웁니다. Java에서 for 루프와 while 루프를 사용하여 이를 배웁니다.

정수가 아르만드 차수로 불리며, n이

abcd... = an + bn + cn + dn + ...

다음은3자리수의 아르만드 수, 각 숫자의立方수의 합이 숫자 자신과 같습니다. 예를 들어:

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153 이는 아르만드 수입니다.

예제1:점수를3자리수

public class Armstrong {
    public static void main(String[] args) {
        int number =; 371, originalNumber, remainder, result = 0;
        originalNumber = number;
        while (originalNumber != 0)
        {
            remainder = originalNumber % 10;
            result += Math.pow(remainder, 3);
            originalNumber /= 10;
        }
        if(result == number)
            System.out.println(number + " 아르만드 수입니다.");
        else
            System.out.println(number + " 아르만드 수가 아닙니다.");
    }
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

371 이는 아르만드 수입니다.
  • 먼저, 주어진 숫자(number)의 값을 또 다른 정수 변수 originalNumber에 저장합니다. 이는 최종 숫자와 원래 숫자의 값을 비교해야 한다는 이유입니다.

  • 그런 다음, originalNumber를 while 루프로 순회합니다. 0이 되면 끝납니다.

    • 각 반복에서 num의 마지막 자리수는 remainder에 저장됩니다.

    • 그런 다음, Math.pow() 함수를 사용하여 remainder를 추가합니다3(숫자 자리수)로 나누고 result에 추가합니다.

    • 그런 다음,10그런 다음, originalNumber에서 마지막 자리수를 제거합니다.

  • 결과와 number를 비교합니다. 같으면 아르만드 수입니다. 다르면 아르만드 수가 아닙니다.

예제2:점수를 n자리 숫자로 확인

public class Armstrong {
    public static void main(String[] args) {
        int number =; 1634, originalNumber, remainder, result = 0, n = 0;
        originalNumber = number;
        for (; originalNumber != 0; originalNumber /= 10, ++n);
        originalNumber = number;
        for (; originalNumber != 0; originalNumber /= 10)
        {
            remainder = originalNumber % 10;
            result += Math.pow(remainder, n);
        }
        if(result == number)
            System.out.println(number + "아름스톤 수입니다.");
        else
            System.out.println(number + "아름스톤 수가 아닙니다.");
    }
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

1634 아姆斯톤 수입니다.

이 프로그램에서는 while 루프 대신 두 번째 for 루프를 사용했습니다.

첫 번째 for 루프는 숫자의 자릿수를 계산하는 데 사용됩니다. 그것은 다음과 같은 형식의 압축된 형태입니다:

for (; originalNumber != 0; originalNumber /= 10) {
     n++;
}

그런 다음, 두 번째 for 루프는 result를 계산하며, 각 반복에서 나머지는 숫자 n의 제곱으로 계산됩니다.

이 페이지에 접근하여 어떻게 하면 되는지 확인하십시오.두 간격 사이의 모든 아姆斯톤 수를 표시하십시오.

Java 예제 모든 것