在C ++中检查大量数字是否可以被11整除

在这里,我们将看到如何检查一个数字是否可以被11整除。在这种情况下,这个数字非常大。因此,我们将数字作为字符串。

要检查数字是否可被11整除,如果奇数位置值的总和与偶数位置值的总和相同,则数字可被11整除。

示例

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

输出结果

Divisible