ที่นี่เราจะมาดูวิธีการตรวจสอบตัวเลขที่หารด้วย 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