>백엔드 개발 >C++ >부분 문자열을 반복적으로 연결한 길이 N의 이진 문자열을 계산합니다.

부분 문자열을 반복적으로 연결한 길이 N의 이진 문자열을 계산합니다.

WBOY
WBOY앞으로
2023-09-07 10:13:061416검색

부분 문자열을 반복적으로 연결한 길이 N의 이진 문자열을 계산합니다.

이 문서의 목적은 부분 ​​문자열을 반복적으로 연결하여 형성된 길이 N의 이진 문자열 수를 계산하는 프로그램을 구현하는 것입니다.

목표는 주어진 텍스트의 개별 하위 문자열을 반복적으로 연결하여 길이가 N인 이진 문자열을 몇 개 만들 수 있는지 결정하는 것입니다. 여기서 N은 양의 정수입니다.

문제 설명

부분 문자열을 반복적으로 연결하는 길이 N의 이진 문자열 수를 세는 프로그램을 구현하세요.

예제 1

으아악 으아악

Explanation

의 중국어 번역은

Explanation

입니다.

아래 목록은 길이가 N=3인 실행 가능한 이진 문자열입니다. 여기서 하위 문자열은 반복적으로 연결됩니다.

으아악

그러므로 이 모든 문자열의 총 개수를 세면 우리가 얻는 합은 2입니다. 따라서 출력은 2입니다.

예시 2

으아악 으아악

Explanation

의 중국어 번역은

Explanation

입니다.

아래에는 부분 문자열의 반복 연결을 포함하는 길이 N=8의 실행 가능한 이진 문자열이 나열되어 있습니다.

으아악

따라서 이 모든 문자열의 총 수를 더하면 합은 16이 됩니다. 따라서 출력은 16입니다.

방법

부분 문자열을 반복적으로 연결하여 형성된 N 길이의 이진 문자열 수를 계산하려면 다음 방법을 사용합니다.

이 문제를 해결하고 부분 문자열을 반복적으로 연결하여 N 길이의 이진 문자열 수를 계산하는 방법입니다.

위 문제는 모든 가능한 문자열에 C번 연결된 반복 부분 문자열이 포함되어 있다는 사실을 기반으로 해결될 수 있습니다. 따라서 모든 연속 문자열을 생성하려면 제공된 문자열 길이 N을 C로 나눌 수 있어야 합니다.

먼저 N의 모든 약수를 찾은 다음, 가능한 각 약수 C에 대해 연결하여 생성할 수 있는 모든 잠재적 문자열의 총 개수를 구합니다. 이 숫자는 2C를 사용하여 결정할 수 있습니다. 각 재귀 호출의 총 횟수를 결정하려면 동일한 기술을 제수 C에 적용하고 이를 2C에서 뺍니다. 또한 두 문자열 사이에 존재하는 중복 문자열의 수도 고려됩니다.

알고리즘

아래 주어진 하위 문자열을 반복적으로 연결하여 길이가 N인 이진 문자열을 계산하는 알고리즘입니다.

  • 첫 번째 단계 − 시작

  • 2단계 − 길이가 N인 문자열의 개수를 하위 문자열의 연결로 계산하는 함수를 정의합니다.

  • 3단계 - 상태가 계산되었는지 확인하세요

  • 4단계 - 현재 재귀 호출의 결과 또는 카운트 값을 저장합니다

  • 5단계 - 모든 제수에 대해 반복

  • 6단계 - 얻은 결과 반환

  • 7단계 − 중지

예: C++ 프로그램

이것은 부분 문자열의 반복된 연결로 형성된 N 길이 이진 문자열의 수를 계산하기 위한 위 알고리즘의 C 프로그램 구현입니다.

으아악

출력

으아악

결론

마찬가지로, 부분 문자열의 반복 연결인 길이 N의 이진 문자열을 계산할 수 있습니다.

이 기사에서는 하위 문자열을 반복적으로 연결하여 형성된 N 길이 이진 문자열의 개수를 구하는 문제를 다룹니다.

C++ 프로그래밍 코드는 부분 문자열을 반복적으로 연결하여 N 길이의 이진 문자열을 계산하는 알고리즘과 함께 여기에 제공됩니다.

위 내용은 부분 문자열을 반복적으로 연결한 길이 N의 이진 문자열을 계산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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