1 条题解
-
0
自动搬运
来自洛谷,原作者为

sLMxf
史莱姆先锋or死了吗小枫?/总会有... /机房风气蒸蒸日上/小号:crz_qwq&deadX搬运于
2025-08-24 21:14:57,当前版本为作者最后更新于2023-06-22 22:25:49,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
B3770 Numeric Hack 题解
hack 代码:
#include <bits/stdc++.h> using namespace std; int main() { int n, k, d; cin >> n >> k >> d; ++n; if (n % k == d) { cout << n << endl; return 0; } if (n % k < d) { n += (d - n % k); } else { n += (k + d - n % k); } cout << n << endl; return 0; }解决这个问题,我们首先要了解取余:
若 与 是整数, ,那么余数 满足这样的关系: , 为整数,且 。
——选自百度Q:我怎么说起取余?
A:题目中有 ,负数的取余有一点奇怪。
那么对于一个负数,取余可能有两个可能:如 , 和 都满足上面的负数取余的条件,(前者称为负余数,后者为正余数)那么可以针对这个地方下手。
但是不能直接写 hack 数据:
- 如果 和 同号,是使商尽可能小,只有一个余数(你不会说 )。
- 如果 和 异号,可能有两个余数。
所以记得 和 异号,其他没什么好说的。
- 1
信息
- ID
- 8746
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者