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