>  기사  >  백엔드 개발  >  주어진 연산을 사용하여 배열을 하나의 요소로 줄입니다.

주어진 연산을 사용하여 배열을 하나의 요소로 줄입니다.

PHPz
PHPz앞으로
2023-08-31 19:01:15931검색

주어진 연산을 사용하여 배열을 하나의 요소로 줄입니다.

정수 변수 Number를 입력으로 제공합니다. 1부터 Number까지의 요소를 정렬된 순서로 포함하는 배열을 생각해 보겠습니다. 배열에 대해 작업을 수행하면 홀수 위치의 요소가 각 단계에서 제거됩니다. 그러면 목표는 이 작업을 수행하는 것입니다. N 요소가 하나만 남을 때까지의 횟수입니다. 끝에 요소를 인쇄합니다.

참고 -: 요소는 인덱스 0의 배열이 위치 1에 있도록 배치됩니다.

배열의 요소 수에 대한 테스트 사례

입력 번호=1, 출력=1

입력 번호=2, 출력=2

입력 번호=3, 출력=2

>

입력 번호=4, 출력= 4

입력수량=5, 출력=4

입력수량=6, 출력=4

입력수량=7, 출력=4

...

입력수량=12, 출력=8

입력수 = 20, 출력 = 16

위 관찰에 따르면 2i 에서 2i+1-1 사이의 숫자 범위에 대해 출력은 2i .

Example

Input이 됩니다. −Number=7

출력 − 단일 축소 작업 후의 요소는 다음과 같습니다. 4

설명 − 첫 번째 요소는 위치 1에 있습니다.

배열은 [ 1 2 3 4 5 6 7 ]

첫 번째 작업 후: [ 2 4 6 ]

두 번째 작업 후: [ 4 ]

Enter − 숫자 = 18

출력 − 축소 작업 후 단일 요소는 다음과 같습니다. 4

설명 − 첫 번째 요소는 위치 1에 있고

배열은 [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18]

1차 연산 후: [ 2 4 6 8 10 12 14 16 18]

2차 연산 후: [ 2 8 12 16 ]

3차 연산 후: [ 8 16 ]

4회 연산 후 [ 16 ]

아래 프로그램에서 사용한 방법은 다음과 같습니다

이 방법에서는 while 루프를 사용하여 위 수식을 기반으로 최종 결과를 계산하겠습니다. 초기 값 2부터 시작하여 2*result

  • 입력 변수 Number 가져오기

  • getsingleElement(long num) 함수는 입력 숫자를 가져와서 위 수식에 따라 결과를 인쇄합니다.

  • 변수 결과를 얻으세요.

  • 결과를 2로 초기화합니다.

  • while 루프를 사용하여 결과*2 li>

  • 내 결과가 두 배로 늘어납니다.

  • while 루프가 끝나면 원하는 값을 얻습니다.

  • 결과를 반환합니다.

  • 메인에 결과를 인쇄하세요.

#include<bits/stdc++.h>
using namespace std;
long getsingleElement(long num){
   long result;
   result=2;
   while(result*2 <= num){
      result=result*2;
   }
   return result;
}
int main(){
   int Number = 20;
   cout<<"The single element after reduction operation is : "<<getsingleElement(Number) ;
   return 0;
}

Output

위 코드를 실행하면 다음과 같은 출력이 생성됩니다

The single element after reduction operation is : 16

위 내용은 주어진 연산을 사용하여 배열을 하나의 요소로 줄입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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