주어진 배열을 두 부분으로 나눈 후 K번 순환 이동을 수행한 후 비트별 OR을 사용하여 배열의 합을 구합니다.
C++에서 배열 분할은 배열을 여러 하위 배열로 분할하는 것을 의미합니다. 비트 OR 연산자는 C++에서 두 비트 OR 인덱스 간의 비교 및 계산을 처리하는 데 사용됩니다. 이 기사에서는 k개의 순환 이동을 사용합니다. 이는 마지막 인덱스 위치가 0 인덱스 위치, 즉 k번에 따라 첫 번째 배열 요소로 이동한다는 것을 의미합니다.
배열의 순환 이동을 이해하기 위해 예를 들어 보겠습니다.
주어진 배열은 길이가 6인 1, 2, 3, 4, 5, 6, 7입니다.
이제 k에 값 3을 할당합니다. 이는 k개의 원형 이동을 의미합니다.
순환교대의 동작 단계는 다음과 같습니다.
1단계 − 인덱스[6]을 인덱스[1]로 이동한 다음 인덱스[5]가 인덱스[6]의 위치를 유지합니다. 첫 번째 원형 쉬프트는 7,1,2,3,4,5,6이 되므로 원형 쉬프트가 회전하게 됩니다.
2단계 - 두 번째 원형 이동 - 6,7,1,2,3,4,5
3단계 - 세 번째 원형 이동 - 5,6,7,1,2,3,4(최종 결과)
문법
으아아아Vector는 키워드로 사용되며 데이터 유형은 사용자가 언급한 것입니다. 마지막으로 vector_name은 사용자가 지정한 벡터의 이름을 나타냅니다.
첫 번째 매개변수는 벡터의 크기를 지정합니다. 두 번째 매개변수는 벡터의 각 요소를 초기화하는 데 사용되는 값입니다.
mod(%) 연산자를 사용하여 배열을 두 부분으로 나누고 비트 OR '|'를 사용하여 두 부분의 각 요소 값을 얻을 수 있습니다.
'arr[(i+k)%arr.size()]'는 비트 OR 연산을 수행할 때의 이동 인덱스를 나타내며, 이는 'splitArray[에 따라 분할 배열의 두 요소 중 하나를 제공합니다. i%2]' 해당 관계입니다.
알고리즘
헤더 파일 'iostream' 및 'Vector'을 사용하여 프로그램을 시작하겠습니다.
우리는 'arr' 및 'k'을 매개변수로 받아들이는 'Split_arr_sum_bitwise'라는 함수를 정의할 것입니다. 이 함수는 순환 이동 후 배열 값과 업데이트된 배열 값을 받습니다.
'Split_arr_sum_bitwise' 함수 내에서 'splitArray'라는 벡터 변수를 초기화하겠습니다. 이 함수는 배열의 양쪽 절반을 모두 저장합니다.
다음으로 비트 OR 연산자 '|'를 사용하여 변수 sum에 값 0을 저장합니다. 이 값은 나중에 'splitArray'라는 함수를 사용하여 배열에 추가됩니다.
그런 다음 원래 배열을 반복할 첫 번째 for 루프를 만듭니다.
그런 다음 비트 연산자 '|'를 사용하여 두 부분의 합을 계산하는 두 번째 for 루프를 만듭니다. 이 연산자는 K 원형 이동 후에 배열을 두 부분으로 분할합니다.
이제 주 함수를 시작합니다. 배열 값을 'array' 변수로 초기화하고 '3' 값을 'k' 변수에 저장합니다. 이 변수는 주어진 배열의 순환 이동을 정의합니다. 비트.
마지막으로 print 문에서 'Split_arr_sum_bitwise'라는 함수를 호출하고 'K' 및 'array' 매개변수를 전달하여 최종 출력을 얻습니다.
Example
의 중국어 번역은 다음과 같습니다:Example
이 프로그램에서는 비트별 OR 연산자를 사용하여 배열 합계를 구현한 다음 K 순환 이동 후 배열을 두 부분으로 분할합니다.
으아아아출력
으아아아결론
우리는 배열이 두 부분으로 분할되는 K 순환 이동의 개념을 살펴보고 비트별 OR 연산이 분할된 배열의 값을 저장하기 위해 합산을 수행하는 방법도 살펴보았습니다. % 모듈로 연산자는 배열을 반으로 분할하여 배열 인덱스 위치에 패리티 계산을 표시합니다.
위 내용은 주어진 배열을 두 부분으로 나눈 후 K번 순환 이동을 수행한 후 비트별 OR을 사용하여 배열의 합을 구합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









이 기사에서는 컨테이너, 반복자, 알고리즘 및 함수 인 핵심 구성 요소에 중점을 둔 C 표준 템플릿 라이브러리 (STL)에 대해 설명합니다. 일반적인 프로그래밍을 가능하게하기 위해 이러한 상호 작용, 코드 효율성 및 가독성 개선 방법에 대해 자세히 설명합니다.

이 기사는 효율적인 STL 알고리즘 사용을 자세히 설명합니다. 데이터 구조 선택 (벡터 대 목록), 알고리즘 복잡성 분석 (예 : std :: sort vs. std :: partial_sort), 반복자 사용 및 병렬 실행을 강조합니다. 일반적인 함정과 같은

이 기사는 C에서 효과적인 예외 처리를 자세히 설명하고, 시도, 캐치 및 던지기 메커니즘을 다룹니다. RAII와 같은 모범 사례, 불필요한 캐치 블록을 피하고 강력한 코드에 대한 예외를 기록합니다. 이 기사는 또한 Perf를 다룹니다

이 기사는 C의 동적 파견, 성능 비용 및 최적화 전략에 대해 설명합니다. 동적 파견이 성능에 영향을 미치는 시나리오를 강조하고이를 정적 파견과 비교하여 성능과 성능 간의 트레이드 오프를 강조합니다.

이 기사는 C에서 Move Semantics를 사용하여 불필요한 복사를 피함으로써 성능을 향상시키는 것에 대해 논의합니다. STD :: MOVE를 사용하여 이동 생성자 및 할당 연산자 구현을 다루고 효과적인 APPL을위한 주요 시나리오 및 함정을 식별합니다.

C 20 범위는 표현성, 합성 가능성 및 효율성으로 데이터 조작을 향상시킵니다. 더 나은 성능과 유지 관리를 위해 복잡한 변환을 단순화하고 기존 코드베이스에 통합합니다.

기사는 Move Semantics, Perfect Forwarding 및 Resource Management에 대한 C에서 RValue 참조의 효과적인 사용에 대해 논의하여 모범 사례 및 성능 향상을 강조합니다 (159 자).

C 메모리 관리는 새로운, 삭제 및 스마트 포인터를 사용합니다. 이 기사는 매뉴얼 대 자동화 된 관리 및 스마트 포인터가 메모리 누출을 방지하는 방법에 대해 설명합니다.
