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

Kiểm tra xem một số lớn có chia hết cho 11 hay không trong C ++

Sau đây chúng ta sẽ xem cách kiểm tra một số có chia hết cho 11 hay không. Trong trường hợp này số lượng là rất lớn. Vì vậy, chúng tôi đặt số dưới dạng chuỗi.

Để kiểm tra xem một số có chia hết cho 11 hay không, nếu tổng các giá trị vị trí lẻ và tổng các giá trị vị trí chẵn bằng nhau thì số đó chia hết cho 11.

Ví dụ

#include <bits/stdc++.h>
using namespace std;
bool isDiv11(string num){
   int n = num.length();
   long odd_sum = 0, even_sum = 0;
   for(int i = 0; i < n; i++){
      if(i % 2 == 0){
         odd_sum += num[i] - '0';
      } else {
         even_sum += num[i] - '0';
      }
   }
   if(odd_sum == even_sum)
      return true;
      return false;
}
int main() {
   string num = "1234567589333892";
   if(isDiv11(num)){
      cout << "Divisible";
   } else {
      cout << "Not Divisible";
   }
}

Đầu ra

Divisible