ตรวจสอบเลขใหญ่ (string) หาร 15 ลงตัวหรือไม่
กฎ: หาร 15 ลงตัว ⇔ หาร 5 ลงตัว (หลักสุดท้าย 0 หรือ 5) และ หาร 3 ลงตัว (ผลรวมหลักเลขหาร 3 ลงตัว)
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
bool isDiv15(string num) {
int n = num.length();
if (num[n-1] != '5' && num[n-1] != '0') return false;
long sum = accumulate(begin(num), end(num), 0) - '0' * n;
return (sum % 3 == 0);
}
int main() {
string num = "154484585745184258458158245285260";
if (isDiv15(num)) cout << "Divisible";
else cout << "Not Divisible";
}
ผลลัพธ์
Divisible