哈梨尔 发表于 2025-5-31 23:37:47

洛谷题解:P12364 [蓝桥杯 2022 省 Python B] 寻找整数

注:可以在两分钟内跑出。
看到这题,暴力枚举跑不出来。如果你有没有充分的数学知识,那又怎么办呢?
减少枚举量

首先,注意到许多余数都是 \(11\),有图为证:

设这个数为 \(n\),则有:

\
直接把以上除数的最小公倍数求出,为 \(59598\)。
枚举时,我们设 \(n\) 为 \(i \times 59598+11\),\(i\) 为循环变量。
它是满足所有以上 \(n \bmod 14 = n \bmod 18 =n \bmod 21 = n \bmod 22 = n \bmod 33 = n \bmod 42 = n \bmod 43= 11\) 的。
现在 \(i\) 只需枚举到 \(10^{13}\) 即可,因为 \(n\) 不超过 \(10^{17}\)。
暴力枚举

因为这个数肯定存在,所以只要使用一些(不一定要全部)条件,只搜出一个解即为答案。
需要注意的点:

[*]上界为 \(10^{13}\)。
[*]条件多加。
[*]耐心等待。
code

#includeusing namespace std;long long n;int main(){        for(long long i=0;i

语樊偿 发表于 2025-11-12 08:50:05

过来提前占个楼

堵赫然 发表于 2025-11-19 12:09:21

感谢分享,学习下。

遑盲 发表于 2025-12-15 15:53:18

不错,里面软件多更新就更好了

绘纵 发表于 2026-1-19 02:49:30

过来提前占个楼

沦嘻亟 发表于 2026-1-19 05:01:45

喜欢鼓捣这些软件,现在用得少,谢谢分享!

章娅萝 发表于 2026-1-20 00:40:01

新版吗?好像是停更了吧。

副我 发表于 2026-1-22 12:22:02

感谢,下载保存了

哈梨尔 发表于 2026-1-24 06:24:34

感谢发布原创作品,程序园因你更精彩

当贵 发表于 2026-1-25 10:31:29

鼓励转贴优秀软件安全工具和文档!

啤愿 发表于 2026-1-27 07:23:51

yyds。多谢分享

梭净挟 发表于 2026-1-27 17:26:51

很好很强大我过来先占个楼 待编辑

港髁 发表于 2026-1-28 06:08:03

懂技术并乐意极积无私分享的人越来越少。珍惜

株兆凝 发表于 2026-1-28 08:55:52

鼓励转贴优秀软件安全工具和文档!

窟聿湎 发表于 2026-1-28 10:32:24

这个有用。

站竣凰 发表于 2026-2-3 08:39:35

谢谢楼主提供!

谭皎洁 发表于 2026-2-4 04:35:52

感谢,下载保存了

徙办 发表于 2026-2-7 23:55:41

谢谢分享,辛苦了

钦娅芬 发表于 2026-2-8 07:19:53

感谢分享

阎怀慕 发表于 2026-2-8 11:12:01

感谢分享,下载保存了,貌似很强大
页: [1] 2
查看完整版本: 洛谷题解:P12364 [蓝桥杯 2022 省 Python B] 寻找整数