여기서 우리는 숫자가 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