Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 프로그램에서 허용되는 비트 제거를 사용하여 64로 나눌 수 있음

<시간/>

이 튜토리얼에서는 주어진 이진수가 64로 나누어 떨어지는지 확인하는 프로그램을 작성할 것입니다.

우리는 이진수를 제공했으며 비트를 제거하여 64로 나눌 수 있도록 만들 수 있습니다. 비트를 제거한 후 숫자가 64로 나누어 떨어지면 를 인쇄합니다. 그렇지 않으면 아니요 .

우리가 사용할 방법은 매우 간단합니다. 문제를 해결하는 단계를 살펴보겠습니다.

  • 이진수를 문자열 형식으로 초기화합니다.

  • 주어진 이진수를 반복합니다.

  • 0의 개수를 센다.

  • 2진수가 6보다 크거나 같고 1비트가 있으면 그 수는 64로 나누어 떨어집니다.

  • 주어진 이진수가 64로 나누어 떨어지는지 여부를 출력하십시오.

코드를 봅시다.

#include <bits/stdc++.h>
using namespace std;
bool isBinaryStringDivisibleBy64(string binary_number, int n) {
   int zeroes_count = 0;
   for (int i = n - 1; i >= 0; i--) {
      if (binary_number[i] == '0') {
         zeroes_count++;
      }
      if (zeroes_count >= 6 && binary_number[i] == '1') {
         return true;
      }
   }
   return false;
}
int main() {
   string binary_string = "100100100100100";
   if (isBinaryStringDivisibleBy64(binary_string, 15)) {
      cout << "Yes" << endl;
   }
   else {
      cout << "No" << endl;
   }
   return 0;
}

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Yes

결론

튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.