English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 프로그램에서는 Java에서 함수를 사용하여 주어진 인터벌(저고와 높이) 사이의 모든 아르무스트롯 수를 표시하는 방법을 배웁니다
두 정수 사이의 모든 아르무스트롯 수를 찾기 위해 함수 checkArmstrong()를 생성합니다. 이 함수는아르무스트롯 수 여부 확인。
public class Armstrong { public static void main(String[] args) { int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) { if (checkArmstrong(number)) System.out.print(number + " "); } } public static boolean checkArmstrong(int num) { int digits = 0; int result = 0; int originalNumber = num; //digits 계산 while (originalNumber != 0) { originalNumber /= 10; ++digits; } originalNumber = num; //결과는 그 숫자의 n승의 합을 포함합니다 while (originalNumber != 0) { int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; } if (result == num) return true; return false; } }
이 프로그램을 실행할 때, 출력은 다음과 같습니다:
1634 8208 9474 54748 92727 93084
위 프로그램에서 checkArmstrong() 함수를 생성했습니다. 이 함수는 파라미터 num을 받아布尔 값을 반환합니다.
숫자가 Armstrong 숫자면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
main() 함수에서 반환 값을 기준으로 숫자를 출력합니다.