13 से विभाज्यता के नियम
- ब्लॉक विधि: दाएं से बाएं 3-3 अंकों के ब्लॉक का वैकल्पिक योग 13 से विभाज्य हो
- अंकीय विधि: अंतिम अंक × 4 को शेष संख्या में जोड़ें, दोहराएं
उदाहरण (अंकीय): 2353 → 235+3×4=247 → 24+7×4=52 → 52÷13=4 → विभाज्य
उदाहरण कोड (ब्लॉक विधि)
#include <bits/stdc++.h>
using namespace std;
bool isDiv13(string num) {
int len = num.size();
if (len == 1 && num[0] == '0') return true;
// लंबाई 3 का गुणक बनाएं
if (len % 3 == 1) { num += "00"; len += 2; }
else if (len % 3 == 2) { num += "0"; len += 1; }
int sum = 0, p = 1;
for (int i = len - 1; i >= 0; i--) {
int block = 0;
block += (num[i--] - '0');
block += (num[i--] - '0') * 10;
block += (num[i] - '0') * 100;
sum += block * p;
p *= -1;
}
sum = abs(sum);
return (sum % 13 == 0);
}
int main() {
string num = "83959092724";
if (isDiv13(num)) cout << "Divisible";
else cout << "Not Divisible";
return 0;
}
आउटपुट
Divisible