Số lớn (string). Kiểm tra chia hết cho 2, 3, 5 đồng thời ⇔ chia hết cho LCM(2,3,5) = 30.
Điều kiện: Chữ số cuối = 0 (chia 10) VÀ tổng chữ số chia hết cho 3.
Chương trình C++
#include <bits/stdc++.h>
using namespace std;
bool divisibleBy30(const string& num) {
if (num.back() != '0') return false;
int sum = 0;
for (char c : num) sum += c - '0';
return sum % 3 == 0;
}
int main() {
vector test = {"353730746028908374890", "30", "60", "90", "120", "10", "15", "123450"};
for (auto &s : test)
cout << s << ": " << (divisibleBy30(s) ? "Chia het 30" : "Khong chia het 30") << "\n";
return 0;
}
Kết quả
353730746028908374890: Chia het 30 30: Chia het 30 60: Chia het 30 90: Chia het 30 120: Chia het 30 10: Khong chia het 30 15: Khong chia het 30 123450: Chia het 30