Computer >> Máy Tính >  >> Lập trình >> C ++

Chia hết cho 12 cho một số lớn trong Chương trình C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình để kiểm tra xem số lớn đã cho ở định dạng chuỗi có chia hết cho 12 hay không.

Chúng ta sẽ sử dụng một chút toán học để giải quyết vấn đề này. Nếu số đó chia hết cho 3 và 4 thì số đó chia hết cho 12.

Một số chia hết cho 3 nếu tổng các chữ số của nó chia hết cho 3.

Một số chia hết cho 4 nếu hai chữ số cuối của số đó chia hết cho 4.

Chúng tôi sẽ sử dụng các tuyên bố trên và hoàn thành chương trình.

Ví dụ

Hãy xem mã.

#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;
}

Đầu ra

Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.

Yes

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.