ที่นี่เราจะมาดูวิธีการตรวจสอบตัวเลขที่หารด้วย 75 ลงตัวหรือไม่ ในกรณีนี้จำนวนเป็นจำนวนที่มาก ดังนั้นเราจึงใส่ตัวเลขเป็นสตริง
ตัวเลขจะหารด้วย 75 ลงตัวเมื่อตัวเลขหารด้วย 3 ลงตัวและหารด้วย 25 ลงตัวเช่นกัน หากผลรวมของหลักหารด้วย 3 ลงตัว ตัวเลขจะหารด้วย 3 ลงตัว และหากสองหลักสุดท้ายหารด้วย 25 ลงตัว ตัวเลขหารด้วย 25 ลงตัว
ตัวอย่าง
#include <bits/stdc++.h>
using namespace std;
bool isDiv75(string num){
int n = num.length();
long sum = accumulate(begin(num), end(num), 0) - '0' * n;
if(sum % 3 != 0)
return false;
int last_two_digit_val = (num[n-2] - '0') * 10 + ((num[n-1] - '0'));
if(last_two_digit_val % 25 == 0)
return true;
return false;
}
int main() {
string num = "1754586672150";
if(isDiv75(num)){
cout << "Divisible";
}else{
cout << "Not Divisible";
}
} ผลลัพธ์
Divisible