여기에서 숫자가 3으로 나누어 떨어지는지 확인하는 방법을 살펴보겠습니다. 이 경우 숫자는 매우 큰 숫자입니다. 그래서 우리는 숫자를 문자열로 넣습니다.
숫자의 합이 3의 배수이면 3의 배수가 됩니다.
예시
#include <bits/stdc++.h> using namespace std; bool isDiv3(string num){ int n = num.length(); long sum = accumulate(begin(num), end(num), 0) - '0' * n; if(sum % 3 == 0) return true; return false; } int main() { string num = "3635883959606670431112222"; if(isDiv3(num)){ cout << "Divisible"; } else { cout << "Not Divisible"; } }
출력
Divisible