여기서 우리는 숫자가 75로 나누어 떨어지는지 확인하는 방법을 볼 것입니다. 이 경우 숫자는 매우 큰 숫자입니다. 그래서 우리는 숫자를 문자열로 넣습니다.
숫자는 75의 배수가 되며 3의 배수이기도 하고 25의 배수이기도 합니다. 자릿수의 합이 3의 배수이면 3의 배수이고 마지막 두 자리의 배수가 25이면 숫자는 25의 배수입니다.
예시
#include <bits/stdc++.h> using namespace std; bool isDiv75(string num){ int n = num.length(); long sum = accumulate(begin(num), end(num), 0) - '0' * n; if(sum % 3 != 0) return false; int last_two_digit_val = (num[n-2] - '0') * 10 + ((num[n-1] - '0')); if(last_two_digit_val % 25 == 0) return true; return false; } int main() { string num = "1754586672150"; if(isDiv75(num)){ cout << "Divisible"; }else{ cout << "Not Divisible"; } }
출력
Divisible