Cho số A. Tìm số >= A nhỏ nhất có tổng chữ số chia hết cho 4 (số "thú vị").
Ví dụ
Với A=432, đầu ra 435 (4+3+5=12 chia hết 4).
Giải thuật
Tăng A dần cho đến khi tổng 4 chữ số (hàng nghìn, trăm, chục, đơn vị) chia hết cho 4. Vì chỉ cần kiểm tra tối đa vài số.
Mã C++
#include <bits/stdc++.h>
using namespace std;
int solve(int A) {
while ((A / 1000 + A % 1000 / 100 + A % 100 / 10 + A % 10) % 4 != 0) {
A++;
}
return A;
}
int main() {
int A = 432;
cout << solve(A) << endl;
}
Đầu vào / Đầu ra
Input: 432
Output: 435