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