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