AcWing 第二场热身赛 题解

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;
}
上一篇:.NET Core项目ProjectGuid无效的问题解决方法


下一篇:242. Valid Anagram