ที่นี่เราจะมาดูวิธีการตรวจสอบตัวเลขที่หารด้วย 15 ลงตัวหรือไม่ ในกรณีนี้จำนวนเป็นจำนวนที่มาก ดังนั้นเราจึงใส่ตัวเลขเป็นสตริง
ตรวจสอบว่าตัวเลขหารด้วย 15 ลงตัวหรือไม่ ถ้าจำนวนนั้นหารด้วย 5 ลงตัวและหารด้วย 3 ลงตัว ดังนั้นการตรวจสอบการหารด้วย 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; if(sum % 3 == 0) return true; return false; } int main() { string num = "154484585745184258458158245285260"; if(isDiv15(num)){ cout << "Divisible"; } else { cout << "Not Divisible"; } }
ผลลัพธ์
Divisible