Java의 암스트롱 번호는 무엇입니까? 전제 조건과 알고리즘입니다.

게시 됨: 2021-04-08

목차

암스트롱 번호는 무엇입니까?

주어진 숫자 x는 n의 거듭제곱으로 거듭난 자릿수의 합과 같으면 n차의 암스트롱 수라고 합니다. 즉:

abc= pow(a,n) + pow(b,n) + pow(c,n)

n 자리의 양의 정수는 그 자리의 세제곱의 합과 같을 경우 암스트롱 수(3차)입니다. 예를 들어:

입력: 153

출력: 예

1*1*1 + 5*5*5 + 3*3*3 = 153

따라서 153은 암스트롱 수입니다.

입력: 121

출력: 아니오

1*1*1 + 2*2*2 + 1*1*1 = 10

따라서 120은 암스트롱 숫자가 아닙니다.

전제 조건 및 알고리즘

이번 글에서는 입력한 숫자가 암스트롱 숫자인지 아닌지 확인하는 방법을 알아보겠습니다. 이를 위해 Java에서 while 루프와 for 루프를 사용할 것입니다. 이 프로그램을 이해하려면 Java에서 다음 주제에 대한 지식이 필요합니다.

  • 자바 if-else 문
  • 루프용 자바
  • 자바 while 및 do-while 루프

연산:

  1. 정수 변수 x를 가져옵니다.
  2. 값은 변수 x에 할당됩니다.
  3. 값의 자릿수가 분할됩니다.
  4. 각 숫자의 큐브 값을 찾습니다.
  5. 모든 큐브의 값을 더하십시오.
  6. 출력은 sum 변수에 저장됩니다.
  7. 합계=X인 경우 암스트롱 번호를 인쇄하십시오.

합계 != X인 경우 암스트롱 번호가 아닌 인쇄

Java에서 암스트롱 번호를 확인하는 프로그램

1. Java의 암스트롱 번호 3차

암호:

공개 클래스 암스트롱{

공개 정적 무효 메인(문자열[] 인수) {

int x=0,a,temp;

int n=153;//암스트롱을 확인할 숫자입니다.

온도=n;

동안(n>0)

{

a=n%10;

n=n/10;

x=x+(a*a*a);

}

if(온도==x)

System.out.println("암스트롱 번호");

또 다른

System.out.println("암스트롱 번호가 아닙니다.");

}

}

산출:

설명

첫째, 주어진 숫자 N의 값은 다른 정수 변수 x에 저장됩니다. 이것은 원래 숫자와 끝에 있는 최종 숫자의 값을 비교해야 하기 때문에 수행됩니다. while 루프는 0이 될 때까지 숫자 N을 반복하는 데 사용됩니다. 모든 반복에서 N의 마지막 숫자는 a에 저장됩니다.

그런 다음 제곱을 하거나 수학을 사용하여 결과를 계산합니다. pow()를 x에 추가합니다. N에서 마지막 숫자를 제거하면 10으로 나눕니다. 마지막으로 =, temp와 X를 비교합니다. 같으면 암스트롱 수입니다. 그렇지 않으면 그렇지 않습니다.

2. Java의 암스트롱 수 n

암호:

공개 클래스 암스트롱

{

/* 올림을 계산하는 함수

전원 b */

int 거듭제곱(int, long b)

{

if( b == 0)

반환 1;

만약 (b%2 == 0)

return power(a, b/2)*power(a, b/2);

반환 a*power(a, b/2)*power(a, b/2);

}

/* 숫자의 순서를 계산하는 함수 */

정수 순서(int a)

{

정수 n = 0;

동안 (a != 0)

{

엔++;

a = a/10;

}

리턴 n;

}

// 주어진 숫자가 암스트롱 숫자인지 확인하는 함수

부울 암스트롱(int a)

{

// 주문 함수 호출

정수 n = 순서(a);

정수 온도=a, 합계=0;

동안 (온도!=0)

{

정수 r = 임시 %10;

합계 = 합계 + 거듭제곱(r,n);

온도 = 온도/10;

}

// 암스트롱 조건을 만족하는 경우

반환(합계 == a);

}

// 드라이버 프로그램

공개 정적 무효 메인(String[] 인수)

{

암스트롱 obj = 새로운 암스트롱();

정수 = 153;

System.out.println(obj.isArmstrong(a));

a = 1276;

System.out.println(obj.isArmstrong(a));

}

}

출력 :

설명

이 프로그램에서는 while 루프 대신 재귀를 사용했습니다. 첫 번째 함수는 b의 거듭제곱으로 거듭난 숫자를 계산하는 데 사용됩니다. Math.pow(a,b)도 같은 용도로 사용할 수 있습니다. 두 번째 함수는 숫자의 순서를 확인합니다. 예를 들어 153은 3차입니다. 마지막으로 부울 함수 Armstrong을 사용하여 숫자가 Armstrong인지 여부를 반환합니다. 그런 다음 Armstrong 클래스의 개체를 사용하여 함수를 호출합니다.

주어진 범위에서 Armstrong 숫자를 인쇄하는 Java 프로그램

암호:

공개 클래스 암스트롱

{

공개 정적 무효 메인(문자열[] 인수)

{

정수 i=0,x;

System.out.println("0에서 999 사이의 암스트롱 숫자");

동안(i<1000)

{

x=armstrongOrNot(i);

if(x==i)

System.out.println(i);

나는 ++;

}

}

정적 int armstrongOrNot(int n)

{

정수 c,a=0;

동안(n!=0)

{

c=n%10;

a=a+(c*c*c);

n/=10 ;

}

반환;

}

}

산출:

설명: 이 프로그램에서는 주어진 간격의 낮음과 높음 사이의 각 숫자를 확인합니다. 각 수표를 게시하면 자릿수의 합계와 수가 0으로 복원됩니다.

결론

이 기사에서는 Java의 Armstrong 번호를 자세히 다루었습니다. 숫자가 n차와 3차의 암스트롱 수인지 확인하는 방법을 보았습니다. 또한 하한과 상한 사이의 모든 암스트롱 수를 얻는 방법도 보았습니다.

Java 기술을 향상시키려면 이러한 Java 프로젝트에 손을 대야 합니다. Java, 전체 스택 개발에 대해 자세히 알아보려면 작업 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트를 제공하는 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 Executive PG 프로그램을 확인하십시오. , 과제, IIIT-B 동문 상태, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

Java에 대해 자세히 알아보고 기술 경력을 쌓고 싶다면 인도 최대의 온라인 고등 교육 회사인 upGrad의 무료 Java 온라인 과정 을 살펴보십시오. 자세한 내용은 당사에 문의하십시오.

풀 스택 개발자 되기

소프트웨어 개발에서 업그레이드 및 IIIT-Bangalore의 PG 디플로마
지금 등록 @ 업그레이드