ต่อไปเราจะมาดูวิธีการเช็คว่าตัวเลขหารด้วย 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