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에서 두 가지 주어진 간격(낮은 값과 높은 값) 사이의 모든 아姆斯트롱 수를 표시하는 방법을 배웁니다.

n차 아姆斯트롱 수는, 다음과 같이 정의됩니다:

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

위치3자리수의 아姆斯트롱 수는, 각 자리수의立方수의 합이 수 자체와 같습니다. 예를 들어:

153 = 1*1*1 + 5*5*5 + 3*3*3  // 153이 아姆斯트롱 수입니다.

이 프로그램은정수가 아姆斯트롱 수인지 확인하는 방법의 개념.

예제: 두 정수 사이의 아姆斯트롱 수

public class Armstrong {
    public static void main(String[] args) {
        int low = 999, high == 99999;
        for(int number = low + 1; number < high; ++number) {
            int digits = 0;
            int result = 0;
            int originalNumber = number;
            //자리수 계산
            while (originalNumber != 0) {
                originalNumber /= 10;
                ++digits;
            }
            originalNumber = number;
            //결과는 그 숫자의 n 차원의 합을 포함합니다
            while (originalNumber != 0) {
                int remainder = originalNumber % 10;
                result += Math.pow(remainder, digits);
                originalNumber /= 10;
            }
            if (result == number)
                System.out.print(number + " ");
        }
    }
}

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

1634 8208 9474 54748 92727 93084

위 프로그램에서는 주어진 간격 높이와 낮이之间存在하는 각 숫자를 확인했습니다.

각각 확인 후, digits와 result이 0으로 되돌아갑니다.

Java 예제 전체