AI算法 每日算法 — 使用java实现三壶谜题:BFS状态空间搜索与GCD可解性判定 引言 三壶谜题(Water Jug Problem)是数学史上著名的智力题:有三个容量分别为 $a$、$b$、$c$ 升的水壶,其中 $c$ 壶 initially装满水,$a$ 和 $b$...
AI算法 每日算法 — 使用java实现卢卡斯定理:组合数取模与数论分治 算法概述 卢卡斯定理(Lucas Theorem)是数论中用于计算大组合数取模的经典定理。当需要计算 $C(n, m) \mod p$(其中 $p$ 为质数)且 $n, m$ 非常大时(例如 $n, m \leq...
AI算法 每日算法 — 使用java实现大步小步算法:离散对数问题的分步求解策略 引言 大步小步算法(Baby-step Giant-step,简称BSGS)是数论中解决离散对数问题(Discrete Logarithm Problem)的经典算法。给定同余方程 a^x ≡ b (mod...
AI算法 每日算法 — 使用java实现埃拉托斯特尼筛法:高效素数生成 问题描述 素数(质数)是大于1的自然数中,除了1和它本身以外不再有其他因数的数。素数在密码学、哈希算法、随机数生成等领域有广泛应用。给定一个正整数...