>  기사  >  백엔드 개발  >  배열이 동일한 합을 갖는 하위 배열로 반복적으로 분할될 수 있는 횟수

배열이 동일한 합을 갖는 하위 배열로 반복적으로 분할될 수 있는 횟수

PHPz
PHPz앞으로
2023-09-06 12:21:071035검색

배열이 동일한 합을 갖는 하위 배열로 반복적으로 분할될 수 있는 횟수

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 루프를 사용하여 각 요소를 반복합니다.

  • for 루프를 완료한 후 while 루프를 사용하여 각 요소를 반복하기 시작합니다.
  • 만약

    'current_sum'

    'sum/2'과 같으면 개수는 '1' 증가하고 'current_sum''0'으로 재설정합니다. 다음으로 'cnt'를 반환하면 배열을 균등하게 나눌 수 있는 횟수가 계산됩니다.

  • 주 함수에서 시작하여 배열의 값을 저장하는 정수 유형의
  • 'num'

    벡터를 만듭니다.

  • 그런 다음 클래스의 객체를 생성하여
  • 'num'

    값을 전달합니다. 다음으로 객체를 가져와 변수 'c'에 저장하여 'cnt_partition' 을 호출합니다. 마지막으로 변수

    'c'
  • .
  • 를 사용하여 "배열을 두 개의 하위 배열로 동일한 합으로 분할할 수 있는 횟수"라는 출력 문을 인쇄합니다. Example

    의 중국어 번역은
  • Example
입니다.

이 프로그램에서는 배열의 합이 동일하도록 두 개의 하위 배열로 반복적으로 분할할 수 있는 횟수를 알아봅니다.

으아악

출력

으아악

결론

등합 배열 나눗셈의 개념을 탐구하고 배열을 여러 부분으로 나누고 합을 동일하게 만드는 방법을 배웠습니다. 코드가 더 읽기 쉽고 C++ 프로그램을 효율적으로 정의할 수 있기 때문에 객체 지향 개념을 사용하여 이 문제를 해결합니다.

위 내용은 배열이 동일한 합을 갖는 하위 배열로 반복적으로 분할될 수 있는 횟수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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