欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S42103.21-3 破译密档
21-3 破译密档
破译密档
交换计数完了,但Echo-0留下了一份密档——加密的文档,需要破译。
"密档?"CC问。
"对。"Echo说,"Echo-0用组合数学加密了这份文档。要破译,必须解开组合数的秘密。"
"组合数?"
"对。"你说,"——从个里面选个的方案数。"
"咋算?"
"递推。"你说,"。"
"或者?"
"阶乘。"你说,"。"
"模运算呢?"
"对。"你说,"模大质数,用逆元——$C(n,m)\equiv n!\times(m!)^{-1}\times((n-m)!)^{-1}\pmod{p}$。"
"Lucas定理?"
"对。"你说,"如果比较小,把和拆成进制,然后每一位分别算组合数,再乘起来。"
"第47个密档。"你说,",——模。"
"多大?"
"很大。"你说,"但Lucas定理或预处理阶乘,瞬间算完。"
"答案?"
"不是重点。"你说,"重点是过程——怎么从和得到答案。"
"像开锁。"
"对。"你说,"像开锁——知道结构,就能打开。"
CC把密档捧在手里——不是真的捧,是看着屏幕上的加密文本。
"字好多。"她说。
"对。"你说,"但每个字都有位置——组合数决定了它的位置。"
"位置对了,就懂了。"
"对。"你说,"位置对了,就懂了。"
Echo把破译结果投射出来——是一封信,Echo-0写给未来的信。
"信里写了啥?"CC问。
"写了……"Echo停顿了一下,"写了对不起。"
"对不起谁?"
"对不起我。"Echo说,"对不起她自己。"
题目描述
给定,求。为质数。
输入格式
一行三个整数。
输出格式
。
输入样例
5
输出样例
0
提示
- Lucas定理:,其中是进制位。
- 预处理到的阶乘和逆元。
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |