>  기사  >  백엔드 개발  >  배열 범위 내의 최대 암스트롱 수를 쿼리하고 업데이트합니다.

배열 범위 내의 최대 암스트롱 수를 쿼리하고 업데이트합니다.

王林
王林앞으로
2023-09-06 22:21:111145검색

배열 범위 내의 최대 암스트롱 수를 쿼리하고 업데이트합니다.

배열 범위 쿼리는 데이터 구조의 새로운 영역입니다. 본 쿼리에서는 데이터 구조 문제를 효율적으로 해결하기 위해 임의의 요소를 배열로 설정하고 일반적인 쿼리 문제를 제공합니다. 암스트롱 수는 세제곱의 합입니다. 예를 들어 0, 1, 153, 370, 371 및 407은 모두 암스트롱 번호입니다.

암스트롱의 수를 이해하기 위해 예를 들어보겠습니다

예제 1 - 주어진 숫자가 371인데, 그 숫자가 암스트롱 번호인지 확인하세요.

3*3*3 + 7*7*7 + 1* sup>1*1 = 371

이것이 암스트롱 번호입니다.

예제 2 − 주어진 숫자는 121입니다. 그 숫자가 암스트롱의 숫자인지 확인하세요.

1*1*1 + 2*2*2 + 1* sup>1*1 = 9

따라서 이것은 암스트롱 번호가 아닙니다.

이번 포스팅에서는 배열 범위 쿼리 문제를 해결하여 최대 암스트롱 수를 찾아 업데이트해 보겠습니다.

문법

으아악

이것은 프로그램에서 벡터를 선언하는 한 가지 방법입니다.

알고리즘

  • 우리는 “bits/stdc++.h”라는 헤더 파일부터 시작하겠습니다.

  • 우리는 매개변수 n을 입력으로 사용하고 숫자가 암스트롱 숫자인지 확인하는 "isArmstrong"이라는 함수 정의를 생성 중입니다.

    암스트롱 숫자의 작동을 이해하는 데는 다음 사항이 포함됩니다.

    • '0''sum' 변수에 저장합니다. 이 변수는 나중에 각 숫자를 거듭제곱으로 더하는 데 사용됩니다.

    • 그런 다음 'n'을 변수 'temp'에 저장합니다. 이 임시 변수는 암스트롱 수의 상태를 확인하기 위해 while 루프에서 사용됩니다.

    • 다음으로 '0' 값을 'digits' 변수에 저장합니다. 이 변수는 나중에 각 숫자의 거듭제곱을 구합니다.

  • 이제 메인 함수를 시작하고 "arr[]" 변수를 초기화하여 주어진 배열 요소를 설정합니다.

  • 우리는 첫 번째 for 루프를 사용하여 배열 요소를 인쇄합니다.

  • 사전 정의된 함수 pushback()을 사용하여 암스트롱 숫자 목록을 찾기 위한 if 문의 조건을 충족하는 "armstrong"이라는 벡터 변수를 초기화합니다.

  • 그런 다음 두 번째 for 루프를 사용하여 배열의 길이 인덱스를 반복하고, 이 루프 아래에서 if-else 문을 사용하여 암스트롱 숫자인지 여부에 따라 배열 요소 목록을 찾습니다.

  • 배열 범위 쿼리를 업데이트하기 위해 'newNumber'라는 변수를 초기화하여 if-else 문을 사용하여 암스트롱 숫자인지 확인할 새 배열 요소를 저장합니다.

  • 다음으로 배열 요소 중 최대 암스트롱 수를 추적하는 데 사용되는 변수 'maxArmstrong'에 0을 저장합니다.

  • 암스트롱 요소의 길이에 걸쳐 반복되는 세 번째 for 루프를 계속 사용하세요. 이 루프 내에서 if 문을 사용하여 최대 암스트롱 수를 찾습니다.

  • 그런 다음 마지막 루프를 사용하여 암스트롱 수를 만족하는 다음 배열 요소를 반복하고 모든 암스트롱 수를 인쇄합니다.

  • 마지막으로 'maxArmstrong' 변수를 사용하여 최대 암스트롱 수를 출력합니다.

Example

의 중국어 번역은

Example

입니다.

이 앱에서는 업데이트를 통해 최대 암스트롱 수를 찾을 수 있습니다.

으아악

출력

으아악

결론

업데이트 기능을 통해 최대 암스트롱 수를 찾기 위해 배열 범위 쿼리의 개념을 탐구했습니다. 주어진 배열 요소를 암스트롱 숫자와 암스트롱이 아닌 숫자의 조합으로 필터링하는 방법을 살펴보았습니다. 기존 배열 요소에서 Armstrong이 아닌 숫자를 제거한 후 Armstrong 유형을 만족하는 배열 요소의 결과를 인쇄하고 그 중에서 최대값을 찾습니다.

위 내용은 배열 범위 내의 최대 암스트롱 수를 쿼리하고 업데이트합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제