抄袭党请跳到最后
题目描述
我们规定,对于一个整数 a,如果其各位数字相加之和能够被 4 整除,则称它是一个特殊数字。
现在,给定一个整数 n,请你计算并输出不小于 n 的最小特殊数字。
输入格式
一个整数 n。
输出格式
一个整数,表示不小于 n 的最小特殊数字。
数据范围
对于 30% 的数据,1≤n≤100。
对于 100% 的数据,1≤n≤1000。
输入样例
42
输出样例
44
算法1
(暴力枚举) $O(log n)$
每一次++x判断x是否符合要求,符合就输出并return 0;
注意,循环要用do-while,否则无法输出x本身就符合条件的数据。
时间复杂度
$O(logn)$
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int f(int x)
{
int s=0;
while(x>0)
{
s+=x%10;
x/=10;
}
return s;
}
int main(){
int x;
cin>>x;
do
{
if(f(x)%4==0)
{
cout<<x;
return 0;
}
}
while(x++);
return 0;
}