题意:给两个数字\(n\)和\(k\),让你在\(k\)的倍数中,找出大于\(n\)的最小数字\(x\),即\(n>x\)
这道题很裸也很简单,答案就是\(k\times (\lfloor \frac{n}{k} \rfloor +1)\)。这个动动脑子就能想明白
这里鄙人自己个给出了一个不太严谨的数学证明:
这里在留下一个简单的问题:如果这道题让你求\(n\ge x\)呢?
#include <bits/stdc++.h>
#define io ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#define rT printf("\nTime used = %.3lf\n", (double)clock()/CLOCKS_PER_SEC)
using namespace std;
typedef long long ll;
ll n, k;
int main() {
io;
cin >> n >> k;
cout << k * (n / k + 1) << ‘\n‘;
return 0;
}
上述问题答案:\(k\times \lceil \frac{n}{k} \rceil\),代码实现略
Educational Codeforces Round 13 A. Johny Likes Numbers
原文:https://www.cnblogs.com/FrankOu/p/14608771.html