数论工具包Skill number-theory-toolkit

数论工具包是一个专为算法竞赛和编程设计的技能,提供核心数论算法的代码实现和原理指导。主要功能包括模运算、扩展欧几里得算法、中国剩余定理、快速傅里叶变换/数论变换等,支持C++、Python、Java等多种编程语言。适用于需要高效数学计算和算法优化的场景,如在线评测系统、编程竞赛和学术研究。关键词:数论算法、模运算、中国剩余定理、FFT/NTT、竞赛编程、算法实现、数学计算、编程竞赛工具。

其他 0 次安装 0 次浏览 更新于 2/23/2026

名称: 数论工具包 描述: 提供数论算法的实现和指导 允许使用的工具:

  • 读取
  • 写入
  • 搜索
  • 全局匹配
  • 编辑

数论工具包技能

目的

为竞赛编程中常用的数论算法提供实现和指导。

能力

  • 模运算操作
  • 扩展欧几里得算法
  • 中国剩余定理
  • 模逆元和模幂运算
  • 用于多项式乘法的FFT/NTT
  • 线性筛法实现

目标流程

  • 数论算法
  • 素数算法
  • 组合计数

算法目录

模运算

  • 模幂运算(二进制指数法)
  • 模逆元(费马小定理/扩展欧几里得算法)
  • 模平方根(Tonelli-Shanks算法)

最大公约数及其扩展

  • 欧几里得算法
  • 扩展欧几里得算法
  • 线性丢番图方程

中国剩余定理

  • 互质模数下的CRT
  • 通用CRT

FFT/NTT

  • 快速傅里叶变换
  • 数论变换
  • 多项式乘法

输入模式

{
  "type": "object",
  "properties": {
    "algorithm": { "type": "string" },
    "parameters": { "type": "object" },
    "language": {
      "type": "string",
      "enum": ["cpp", "python", "java"]
    },
    "modulo": { "type": "integer" }
  },
  "required": ["algorithm"]
}

输出模式

{
  "type": "object",
  "properties": {
    "success": { "type": "boolean" },
    "code": { "type": "string" },
    "explanation": { "type": "string" },
    "complexity": { "type": "string" }
  },
  "required": ["success"]
}