목차
Algorithm
genAllBinEqualSumHalf(n, left, right, diff)
Example
输출
백엔드 개발 C++ 길이 n의 가능한 모든 이진수에 대해 두 반쪽의 합은 동일합니까?

길이 n의 가능한 모든 이진수에 대해 두 반쪽의 합은 동일합니까?

Sep 03, 2023 pm 01:21 PM
이진수 길이 일본상 등

길이 n의 가능한 모든 이진수에 대해 두 반쪽의 합은 동일합니까?

여기서 각 절반의 합이 동일한 n 비트(n은 사용자가 제공함)의 가능한 모든 이진수를 볼 수 있습니다. 예를 들어, 숫자가 10001이면 여기서 10과 01은 합이 동일하고 절반이 다르기 때문에 동일합니다. 여기서는 해당 유형의 모든 숫자를 생성합니다.

Algorithm

genAllBinEqualSumHalf(n, left, right, diff)

왼쪽과 오른쪽은 처음에는 비어 있고, diff는 왼쪽과 오른쪽의 차이를 유지합니다.

Begin
   if n is 0, then
      if diff is 0, then
         print left + right
      end if
      return
   end if
   if n is 1, then
      if diff is 0, then
         print left + 0 + right
         print left + 1 + right
      end if
      return
   end if
   if 2* |diff| <= n, then
      if left is not blank, then
         genAllBinEqualSumHalf(n-2, left + 0, right + 0, diff)
         genAllBinEqualSumHalf(n-2, left + 0, right + 1, diff-1)
      end if
      genAllBinEqualSumHalf(n-2, left + 1, right + 0, diff + 1)
      genAllBinEqualSumHalf(n-2, left + 1, right + 1, diff)
   end if
End
로그인 후 복사

Example

#include <bits/stdc++.h>
using namespace std;
//left and right strings will be filled up, di will hold the difference between left and right
void genAllBinEqualSumHalf(int n, string left="", string right="", int di=0) {
   if (n == 0) { //when the n is 0
      if (di == 0) //if diff is 0, then concatenate left and right
         cout << left + right << " ";
      return;
   }
   if (n == 1) {//if 1 bit number is their
      if (di == 0) { //when difference is 0, generate two numbers one with 0 after left, another with 1 after left, then add right
         cout << left + "0" + right << " ";
         cout << left + "1" + right << " ";
      }
      return;
   }
   if ((2 * abs(di) <= n)) {
      if (left != ""){ //numbers will not start with 0
         genAllBinEqualSumHalf(n-2, left+"0", right+"0", di);
         //add 0 after left and right
         genAllBinEqualSumHalf(n-2, left+"0", right+"1", di-1);
         //add 0 after left, and 1 after right, so difference is 1 less
      }
      genAllBinEqualSumHalf(n-2, left+"1", right+"0", di+1); //add 1 after left, and 0 after right, so difference is 1 greater
      genAllBinEqualSumHalf(n-2, left+"1", right+"1", di); //add 1 after left and right
   }
}
main() {
   int n = 5;
   genAllBinEqualSumHalf(n);
}
로그인 후 복사

输출

rreee

위 내용은 길이 n의 가능한 모든 이진수에 대해 두 반쪽의 합은 동일합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

IP 주소는 몇 개의 이진수로 구성됩니까? IP 주소는 몇 개의 이진수로 구성됩니까? Mar 01, 2023 pm 04:35 PM

IP 주소는 32비트 또는 128비트 이진수로 구성됩니다. IP 주소는 IP 프로토콜에서 제공하는 통합 주소 형식입니다. 1. IPv4 주소는 점으로 구분된 10진수 표기법으로 표현되는 32비트 이진수로 구성되며 8비트, 즉 4개의 0으로 나뉩니다. ~255 10진수; 2. IPv6 주소는 점으로 구분된 16진수로 표현된 128비트 이진수로 구성되며, 8비트로 나누어집니다. 즉, 0x00부터 0xff까지의 16개의 16진수입니다.

PHP 배열 길이 제한은 무엇입니까? PHP 배열 길이 제한은 무엇입니까? Mar 13, 2024 pm 06:30 PM

PHP의 배열 길이에는 고정된 제한이 없으며 시스템의 메모리 크기에 따라 동적으로 조정될 수 있습니다. PHP에서 배열은 원하는 수의 요소를 저장할 수 있는 매우 유연한 데이터 구조이며, 각 요소는 모든 유형의 값 또는 다른 배열일 수 있습니다. PHP 배열의 길이 제한은 주로 시스템의 메모리 크기와 PHP 구성의 메모리 제한에 따라 달라집니다. 일반적으로 시스템의 메모리가 충분히 크고 PHP의 메모리 제한이 충분히 높으면 배열의 길이가 매우 커질 수 있습니다. 그러나 시스템의 메모리가 부족하거나

C를 사용하여 주어진 이진수의 2의 보수 찾기 C를 사용하여 주어진 이진수의 2의 보수 찾기 Sep 05, 2023 pm 03:21 PM

아래 주어진 예를 생각해 보십시오. 입력 예는 다음과 같습니다. 입력 이진수: 10010001 출력은 다음과 같습니다. 10010001의 1의 보수는 011011102입니다. 10010001의 보수는 01101111입니다. 알고리즘 a의 2'c 보수를 찾는 알고리즘에 대한 참조 주어진 이진수 숫자. 1단계 - 시작하세요. 2단계 - 런타임 시 이진수를 읽습니다. 3단계 - 이진수를 strdp에 복사합니다. 4단계-len:=strlen(str) 5단계-i=0에서 len-1까지인 경우 5.1단계 실행-str[i]=='1'인 경우 5.1.1단계-str[i]==' 0' 5.2단계 - 그렇지 않은 경우 5.2.1단계

PHP 배열 길이에 제한이 있나요? PHP 배열 길이에 제한이 있나요? Mar 13, 2024 pm 06:36 PM

PHP 배열 길이에 제한이 있나요? 특정 코드 예제가 필요합니다. PHP에서는 배열 길이에 고정된 제한이 없으며 배열 크기는 시스템 메모리의 실제 제한에 따라 동적으로 조정될 수 있습니다. PHP의 배열은 동적 배열이므로 필요에 따라 동적으로 늘리거나 줄일 수 있습니다. PHP에서 배열은 순서가 지정된 매핑된 데이터 구조이며 배열 요소는 배열 첨자 또는 연관 배열 키 값을 사용하여 액세스할 수 있습니다. PHP 배열 길이가 제한되어 있는지 여부를 보여주기 위해 특정 코드 예제를 살펴보겠습니다. 먼저 다음 코드를 전달할 수 있습니다.

이진수의 1의 보수와 2의 보수는 무엇인가요? 이진수의 1의 보수와 2의 보수는 무엇인가요? Sep 11, 2023 pm 11:33 PM

이진수는 2진법으로 표현됩니다. "0"과 "1" 두 자리 숫자만 사용합니다. 이진수의 각 숫자는 비트입니다. 예 2진수의 2의 보수 -01000101111 2의 보수는 2진수의 자릿수를 반전시켜, 즉 1을 0으로, 0을 1로 변환하여 구합니다. 예제 1의 Complementof101100=0100112의 보수는 이진수에 1을 더한 보수, 즉 1+1의 보수입니다. 예제 2의 complementof101101is010011. 1개와 2개의 보수 코드를 찾는 예제 코드 - #include<iostr

IPv6 주소는 몇 개의 이진수로 구성됩니까? IPv6 주소는 몇 개의 이진수로 구성됩니까? Dec 15, 2020 pm 02:02 PM

IPv6 주소는 128비트 이진수로 구성됩니다. IPv6 주소는 16진수로 표시되는 이진수이며 128비트 주소 길이를 갖습니다. IPv6 IP 주소는 8개의 주소 섹션으로 구성되며, 각 섹션은 16개의 주소 비트를 포함하고 총 길이는 16x8=128비트입니다.

주어진 배열에서 동일한 문자가 없는 두 문자열 길이의 최대 합을 구합니다. 주어진 배열에서 동일한 문자가 없는 두 문자열 길이의 최대 합을 구합니다. Aug 29, 2023 pm 06:45 PM

이 글의 목적은 주어진 배열에서 공통 문자가 없는 문자열 쌍의 길이의 합을 최대화하는 프로그램을 구현하는 것입니다. 정의에 따르면 문자열은 문자 모음입니다. 문제 설명 주어진 배열에서 공통 문자가 없는 문자열 쌍의 길이 합을 최대화하는 프로그램을 구현하십시오. 예 1LetusconsidertheInputarray:a[]=["efgh","hat","fto","car","wxyz","fan"]Outputobtained:8 설명 문자열 "abcd" 및 "wxyz에 공통 문자가 없습니다. ". 결과적으로, 두 문자열의 결합된 길이는 4+4이며, 이는 가능한 모든 쌍 중에서 가장 긴 길이인 8과 같습니다. 실시예 2레투

len 함수의 사용과 중요성에 대한 다양한 관점 len 함수의 사용과 중요성에 대한 다양한 관점 Dec 28, 2023 am 08:38 AM

len 함수의 역할과 의미는 다양한 각도에서 해석됩니다. len 함수는 Python 프로그래밍 언어에서 일반적으로 사용되는 함수 중 하나입니다. 주로 컨테이너 개체(예: 문자열, 목록, 튜플 등)의 요소 길이나 개수를 반환하는 데 사용됩니다. 이 간단한 함수는 프로그램을 작성할 때 매우 중요한 역할을 하며, 그 기능과 의미는 여러 각도에서 해석될 수 있습니다. 이 글에서는 성능, 가독성, 컨테이너 유형의 관점에서 len 함수를 설명하고 구체적인 코드 예제를 제공합니다. 1. 성능 관점 대용량 데이터를 처리할 때 프로그램의 성능은

See all articles