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

C++ 프로그램에서 주어진 숫자로 나눌 수 있는 두 부분으로 숫자를 나눕니다.

<시간/>

이 튜토리얼에서는 숫자를 주어진 숫자로 나눌 수 있는 두 부분으로 나누는 프로그램을 작성할 것입니다.

문자열 형식의 숫자와 두 개의 다른 정수를 제공했습니다. 프로그램은 첫 번째 부분을 첫 번째 숫자로 나누고 두 번째 부분을 두 번째 부분으로 나눌 수 있도록 주어진 숫자를 두 부분으로 나눌 수 있는지 여부를 반환해야 합니다.

문제를 해결하는 단계를 살펴보겠습니다.

  • 나누기에 대한 숫자와 두 개의 정수를 초기화합니다.

  • 첫 번째 부분이 첫 번째 숫자로 나눌 수 있을 때까지 숫자를 반복합니다.

  • 각 문자를 숫자로 변환하여 숫자를 만듭니다.

  • 첫 번째 숫자로 나누어 떨어지면 루프를 끊습니다.

  • 이제 숫자의 두 번째 부분에 대해 다음 인덱스에서 반복합니다.

  • 첫 번째 부분에서와 같이 숫자를 만드십시오.

  • 두 번째 부분이 두 번째 숫자로 나누어 떨어지는지 확인하십시오.

  • 첫 번째 부분과 두 번째 부분이 각각 첫 번째와 두 번째 숫자로 나눌 수 있는 경우 인쇄하고 그렇지 않으면 "불가능"을 인쇄합니다.

예시

코드를 봅시다.

#include <bits/stdc++.h>
using namespace std;
void checkTheDivisabilityOfPrefixAndSuffix(string num, int prefix_dividend, int suffix_dividend) {
   int N = num.length();
   bool is_prefix_divisable = false, is_suffix_divisable = false;
   int index = 0;
   int prefix = num[index] - '0';
   while (index < N) {
      if (prefix % prefix_dividend == 0) {
         is_prefix_divisable = true;
         break;
      }
      prefix = prefix * 10 + (num[++index] - '0');
   }
   int suffix = num[++index] - '0';
   while (index < N - 1) {
      suffix = suffix * 10 + (num[++index] - '0');
   }
   cout << suffix << endl;
   if (suffix % suffix_dividend == 0) {
      is_suffix_divisable = true;
   }
   if (is_prefix_divisable && is_suffix_divisable) {
      cout << prefix << " " << suffix << endl;
   }
   else {
      cout << "Not possible" << endl;
   }
}
int main() {
   string number = "125333";
   int prefix_dividend = 5;
   int suffix_dividend = 3;
   checkTheDivisabilityOfPrefixAndSuffix(number, prefix_dividend, suffix_dividend);
   return 0;
}

출력

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

125 333

결론

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