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

C++ 프로그램에서 많은 수에 대한 12의 배수

<시간/>

이 튜토리얼에서는 문자열 형식의 주어진 큰 숫자가 12로 나누어 떨어지는지 여부를 확인하는 프로그램을 작성할 것입니다.

우리는 이 문제를 풀기 위해 약간의 수학을 사용할 것입니다. 숫자가 3과 4의 배수이면 12의 배수가 됩니다.

숫자의 합이 3의 배수이면 3의 배수입니다.

숫자의 마지막 두 자리가 4의 배수이면 4의 배수입니다.

위의 내용을 활용하여 프로그램을 완성하겠습니다.

예시

코드를 봅시다.

#include <bits/stdc++.h>
using namespace std;
bool isNumberDivisibleBy12(string num) {
   if (num.length() >= 3) {
      int last_digit = (int)num[num.length() - 1];
      if (last_digit % 2 != 0) {
         return 0;
      }
      int second_last_digit = (int)num[num.length() - 2];
      int sum = 0;
      for (int i = 0; i < num.length(); i++) {
         sum += num[i];
      }
      return (sum % 3 == 0 && (second_last_digit * 10 + last_digit) % 4 == 0);
   }
   else {
      int number_as_int = stoi(num);
      return number_as_int % 12 == 0;
   }
}
int main() {
   string num = "1212121212121212121212121212";
   if (isNumberDivisibleBy12(num)) {
      cout << "Yes" << endl;
   }
   else {
      cout << "No" << endl;
   }
   return 0;
}

출력

위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

Yes

결론

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