C++에는 런타임에 배열의 크기를 변경할 수 있는 벡터 헤더 파일이 있습니다. 이번 글에서는 배열이 합이 같은 하위 배열로 반복적으로 분할될 수 있는 횟수에 대한 개념을 알아봅니다.
합계가 같은 배열 파티션을 보여주는 예를 들어보겠습니다.
주어진 배열은 {1,2,3,4,2}입니다. 배열을 두 부분으로 나눕니다 −
{1,2,3}- 배열의 각 인덱스의 총합은 6.
{4,2} - 배열의 각 인덱스의 합은 6입니다.
그러므로 주어진 배열 크기의 2배를 동일한 합으로 하위 배열로 분할할 수 있습니다.
헤더 파일 'iostream' 및 'Vector'으로 프로그램을 시작하겠습니다.
이제 'isPartition_arr'이라는 클래스를 만들어 프로그램을 시작합니다.
공개 섹션에서 배열 요소의 값을 확인하기 위해 num을 매개변수로 받아들이는 'isPartition_arr'라는 생성자를 선언합니다.
우리는 배열이 분할될 수 있는 총 횟수를 계산하기 위해 정수 유형의 'cnt_Partition' 이라는 함수를 정의하고 있습니다.
변수 'sum'을 '0'으로 초기화합니다. 이는 나중에 배열을 합산하는 데 사용되며 '0'을 변수 'count'에 저장합니다. 배열 요소의 개수를 증가시킵니다. 그런 다음 'arr' 벡터의 각 요소를 반복하는 for 루프를 선언합니다.
변수 'current_sum'을 '0'으로 초기화하고 for 루프를 사용하여 각 요소를 반복합니다.
만약
'current_sum'이 'sum/2'과 같으면 개수는 '1' 증가하고 'current_sum'을 '0'으로 재설정합니다. 다음으로 'cnt'를 반환하면 배열을 균등하게 나눌 수 있는 횟수가 계산됩니다.
벡터를 만듭니다.
값을 전달합니다. 다음으로 객체를 가져와 변수 'c'에 저장하여 'cnt_partition' 을 호출합니다. 마지막으로 변수
'c'를 사용하여 "배열을 두 개의 하위 배열로 동일한 합으로 분할할 수 있는 횟수"라는 출력 문을 인쇄합니다. Example
의 중국어 번역은결론
위 내용은 배열이 동일한 합을 갖는 하위 배열로 반복적으로 분할될 수 있는 횟수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!