यहां हम देखेंगे कि कैसे जांचें कि कोई संख्या 2, 3 और 5 से विभाज्य है या नहीं। इस मामले में संख्या बहुत बड़ी है। इसलिए हम संख्या को स्ट्रिंग के रूप में रखते हैं।
एक संख्या 2, 3 और 5 से विभाज्य होगी यदि वह संख्या 2, 3 और 5 के LCM से विभाज्य है। तो 2, 3, 5 का LCM 30 है। हमें जांचना होगा कि संख्या 30 से विभाज्य है या नहीं। एक संख्या 30 से विभाज्य होती है जब यह 10 से विभाज्य होती है (अंतिम अंक 0 है) और 3 से विभाज्य होती है (सभी अंकों का योग 3 से विभाज्य है)
उदाहरण
#include <bits/stdc++.h>
using namespace std;
bool isDiv30(string num) {
int n = num.length();
if(num[n - 1] != '0')
return false;
long sum = accumulate(begin(num), end(num), 0) - '0' * n;
if(sum % 3 == 0)
return true;
return false;
}
int main() {
string num = "353730746028908374890";
if(isDiv30(num)) {
cout << "Divisible";
} else {
cout << "Not Divisible";
}
}
आउटपुट
Divisible