其他分享
首页 > 其他分享> > AcWing 第二场热身赛 题解

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;
}

标签:10,int,题解,leq,valid,res,include,热身赛,AcWing
来源: https://www.cnblogs.com/WuWh2007/p/14815381.html