>  기사  >  Java  >  자바의 암스트롱 번호

자바의 암스트롱 번호

王林
王林원래의
2024-08-30 16:26:20238검색

자바의 암스트롱 수(Armstrong Number) 암스트롱은 숫자의 각 자릿수 세제곱의 합이 숫자 자체와 같은 수입니다. 암스트롱 수(Armstrong number)는 숫자를 먼저 선택한 다음 세제곱하고 마지막으로 각 숫자의 모든 세제곱을 더하여 숫자를 얻는 특별한 종류의 숫자입니다. 이렇게 찾은 숫자가 원래 숫자와 같으면 해당 숫자를 암스트롱 수라고 합니다. 암스트롱 수의 예로는 153이 있습니다. 153의 숫자를 분해하면 1, 5, 3이 됩니다. 그러면 각각의 숫자의 세제곱을 찾아 마지막으로 숫자의 세제곱을 계산합니다.

153= (1*1*1)+(5*5*5)+(3*3*3)
370= (3*3*3)+(7*7*7)+(0*0*0)

이런 방법으로 숫자가 암스트롱 숫자인지 아닌지를 계산할 수 있습니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

Java의 암스트롱 수 예시

예제를 통해 그림을 살펴보겠습니다.

예시 #1

코딩 예제에서는 Java 프로그래밍 언어를 사용하여 숫자가 암스트롱 숫자인지 여부를 확인합니다. 입력된 번호가 암스트롱 번호이면 프로그램은 자동으로 암스트롱 번호로 인쇄하고, 그렇지 않으면 자동으로 암스트롱 번호가 아니라고 응답합니다. 3자리 또는 4자리 값을 입력하여 해당 숫자가 암스트롱 번호인지 여부를 확인할 수 있습니다.

프로그램의 논리는 해당 숫자의 각 숫자가 임시 변수에 저장되는 것과 같습니다. 그런 다음 숫자를 세제곱하여 해당 숫자의 세제곱을 찾아 다른 변수 total에 저장합니다. 마지막으로 총 개수를 해당 원래 개수로 확인합니다. 숫자는 각 단계에서 숫자를 10으로 나눈 다음 나머지 숫자를 얻은 다음 숫자를 세제곱하여 해당 숫자의 큐브를 얻는 방식으로 하나씩 얻습니다.

코드:

import java.io.*;
public class Armstrong
{
public static void main(String[] args)throws IOException
{
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter a number");
int num = Integer.parseInt(br.readLine());
int number, digit, sum = 0;
number = num;
while (number != 0)
{
digit = number % 10;
sum = sum + digit*digit*digit;
number /= 10;
}
if(sum == num)
System.out.println(num + " is an Armstrong number");
else
System.out.println(num + " is not an Armstrong number");
}
}

출력:

자바의 암스트롱 번호

자바의 암스트롱 번호

자바의 암스트롱 번호

첫 번째 프로그램에서는 암스트롱인지 아닌지 확인하기 위해 숫자 370과 153을 숫자로 입력합니다. 그리고 암스트롱인지 확인하기 위해 숫자로 269를 입력해보겠습니다. 숫자 370과 153은 암스트롱 숫자이고 숫자 269는 암스트롱 숫자가 아니라는 프로그램의 출력을 얻습니다.

예시 #2

두 번째 코딩 예에서는 암스트롱 숫자인지 여부를 확인하는 숫자 범위를 선택합니다. 범위는 150부터 160까지입니다. 범위를 선택하고 그 숫자가 암스트롱 숫자인지 아닌지 출력을 확인합니다. 그런 다음 출력을 봅니다. 사용되는 논리는 암스트롱 번호를 찾는 데 사용되는 논리와 유사합니다. 숫자의 각 자릿수를 계산한 후 이를 세제곱하고 합산하여 최종 총 숫자를 찾습니다. 최종 총 개수가 원래 개수와 같을 경우 계산된 암스트롱 개수로 간주됩니다.

코드:

import java.io.*;
public class ArmstrongRange
{
public static void main(String[] args)throws IOException
{
for(int num= 150; num<160; num++)
{
int number, digit, sum = 0;
number = num;
while (number != 0)
{
digit = number % 10;
sum = sum + digit*digit*digit;
number /= 10;
}
if(sum == num)
System.out.println(num + " is an Armstrong number");
else
System.out.println(num + " is not an Armstrong number");
}
}
}

출력:

자바의 암스트롱 번호

샘플 출력에서는 150~160 범위의 모든 숫자가 암스트롱 숫자인지 여부가 확인된 것을 볼 수 있습니다. 프로그램에서는 153만이 자릿수 세제곱의 합이 원래 숫자와 같은 암스트롱 수라고 보고했습니다. 그 외 숫자는 모두 암스트롱이 아닌 숫자로 보고되었습니다.

예시 #3

이 코딩 예제에서는 365에서 375 사이에 존재하는 암스트롱 숫자 목록을 볼 수 있습니다. 암스트롱 숫자를 확인할 값의 범위를 변경하고 있습니다. 코딩의 샘플 논리는 이전 논리와 정확히 동일합니다. 가장 큰 차이점은 확인하는 숫자의 범위가 변경된다는 점이며, 코드의 마지막 줄과 약간 다릅니다.

개별 숫자를 취하고 세제곱하고 합산하여 숫자를 얻습니다. 해당 숫자가 원래 숫자와 동일하면 원래 숫자를 암스트롱 숫자라고 합니다. 그렇지 않으면 암스트롱 번호가 아닙니다.

코드:

import java.io.*;
public class ArmstrongRange
{
public static void main(String[] args)throws IOException
{
for(int num= 365; num<375; num++)
{
int number, digit, sum = 0;
number = num;
while (number != 0)
{
digit = number % 10;
sum = sum + digit*digit*digit;
number /= 10;
}
if(sum == num)
System.out.println(num + " is an Armstrong number");
else
System.out.println(num + " is not an Armstrong number");
}
}
}

출력:

자바의 암스트롱 번호

프로그램의 샘플 출력에서 ​​371과 370만이 암스트롱 숫자이고 나머지 숫자는 암스트롱 숫자가 아닌 것을 볼 수 있습니다. 각 숫자의 세제곱의 합이 원래 숫자에 합산되지 않기 때문입니다.

결론 – Java의 암스트롱 번호

이 기사에서는 암스트롱 수의 작동과 정의를 살펴보았습니다. 먼저 입력된 숫자가 암스트롱 번호인지 확인합니다. 둘째, 150에서 160까지의 값을 입력하고 그 값 사이에 암스트롱 수가 몇 개 있는지 확인합니다. 셋째, 365부터 375까지의 숫자를 입력하여 370과 371이 암스트롱 수임을 알아낸다. 암스트롱 수는 정수론에 사용되는 특수 숫자이며 일부 숫자의 자릿수 특성과 해당 큐브의 합을 찾는 데 사용할 수 있습니다.

위 내용은 자바의 암스트롱 번호의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:자바의 회문다음 기사:자바의 회문