A
题意简述
给定 \(n\) ,求一个最小的 \(x\) ,使得 \(x\geq n\) 并且 \(x\) 各个位上的数字之和是 \(4\) 的倍数.
\(1\leq n\leq 10^3\) 。
solution
模拟。从 \(n\) 开始,每次判断一下是否满足约束条件即可。
AC 代码
/*
* AcWing 3547, warm-up 2 A
* Author: WuWh
* Date: 2021/5/26
*/
#include <iostream>
#include <cstdio>
using namespace std;
bool valid(int x) {
int res = 0;
while (x) {
res += x % 10;
x /= 10;
}
return res % 4 == 0;
}
int main() {
int n;
cin >> n;
for (int i = n; i; i++)
if (valid(i)) { cout << i << endl; break; }
return 0;
}