# Carmichael 函数 λ(n) 计算器

计算 Carmichael 函数 λ(n)——乘法群 (Z/nZ)* 的指数，即使所有与 n 互素的 a 满足 a^k ≡ 1 (mod n) 的最小 k。由质因数分解按 λ(2)=1、λ(4)=2、λ(2^k)=2^(k−2)（k ≥ 3）、奇素数幂 λ(p^k)=φ(p^k) 再取 lcm 得到，同时给出 φ(n) 对比、是否存在原根，并用 Korselt 判据识别 Carmichael 数。经典例：λ(561) = 80（561 是最小的 Carmichael 数），而 λ(8) = 2 < φ(8) = 4。

> 标准页面: https://elysiatools.com/zh/tools/carmichael-function

- **分类:** Math & Numbers

- **关键词:** carmichael 函数, 群指数, 乘法群, carmichael 数, korselt 判据, 原根, 数论

## 概述

Carmichael 函数 λ(n) 计算器可快速求出模 n 乘法群 (Z/nZ)* 的群指数，即满足所有与 n 互素的整数 a 均有 a^k ≡ 1 (mod n) 的最小正整数 k。工具通过质因数分解计算各项素数幂的 λ 值并求取最小公倍数（lcm），同时提供与欧拉函数 φ(n) 的比对、原根存在性判断、Korselt 判据下的 Carmichael 数识别以及样例单元同余验证。

## 输入项

- **数值 n** (text): Positive integer, 1 ≤ n ≤ 10¹² (trial-division factorization bound).
- **输出详细度** (select)

## 适用场景

- 在数论或近世代数中分析模 n 乘法群的循环性与群指数时。
- 在密码学（如 RSA 或 Paillier 密码系统）中优化密钥生成与最小解密指数时。
- 需要验证一个合数是否满足 Korselt 判据并构成 Carmichael 数（费马伪素数）时。

## 工作原理

- 输入不超过 10¹² 的正整数 n，工具对 n 进行质因数分解得到各个素数幂分支。
- 按数论规则计算各素数幂分量：λ(2)=1、λ(4)=2、对 k ≥ 3 取 λ(2^k)=2^(k-2)，奇素数幂则取 λ(p^k)=φ(p^k)=p^(k-1)(p-1)。
- 取所有素数幂分量的最小公倍数得到 λ(n)，并将其与欧拉函数 φ(n) 比较以判断是否存在模 n 原根。
- 若选择验证模式，工具将结合 Korselt 判据检查 λ(n) 是否整除 n-1，并用具体样例单元检验同余式 a^λ(n) ≡ 1 (mod n)。

## 使用案例

- 数论教学与学习：通过对比不同模数的 λ(n) 与 φ(n)，直观理解群结构与原根存在条件。
- 公钥密码学分析：在 RSA 参数设计中使用 λ(n) = lcm(p-1, q-1) 代替 φ(n) = (p-1)(q-1) 来求取更紧凑的私钥指数 d。
- 伪素数研究：输入典型合数如 561、1105、1729，验证其是否满足 Korselt 判据以识别 Carmichael 数。

## 常见问题

### Carmichael 函数 λ(n) 与欧拉函数 φ(n) 有什么区别？

φ(n) 是模 n 乘法群的阶（元素个数），而 λ(n) 是该群的指数（所有元素阶的最小公倍数），λ(n) 总是整除 φ(n)。

### 何时会出现 λ(n) = φ(n)？

当且仅当模 n 存在原根时（即 n 为 1, 2, 4, p^k, 2p^k，其中 p 为奇素数），乘法群为循环群，此时 λ(n) 等于 φ(n)。

### 什么是 Carmichael 数？如何在此工具中判断？

Carmichael 数是满足对所有与 n 互素的 a 均有 a^(n-1) ≡ 1 (mod n) 的合数。工具通过 Korselt 判据（即 λ(n) 能否整除 n-1）进行精确判定。

### 支持的最大计算范围是多少？

支持 1 ≤ n ≤ 10¹² 的正整数计算，依托试除法因数分解在范围内秒级得出结果。

### 详细度选项中的“样例单元验证”有什么作用？

该选项会在输出理论计算结果的同时，选取与 n 互素的实际整数 a 计算 a^λ(n) mod n，直观展示同余值为 1 的验证过程。

## 相关工具

- [中国剩余定理求解器（同余方程组）](https://elysiatools.com/zh/tools/chinese-remainder-theorem): 求解同余方程组 x ≡ rᵢ (mod mᵢ)（2–20 条方程），采用逐对合并的广义中国剩余定理：模数两两互素时合并模数为乘积，非互素但相容时合并模数为最小公倍数，不相容（公因数不整除余数差）则明确报告无解。每条方程都会对最终解回代验证。经典例：x ≡ 2 (mod 3)、x ≡ 3 (mod 5)、x ≡ 2 (mod 7) 的解为 x = 23 (mod 105)。
- [排列 / 组合 / 子集生成器（支持重复元素）](https://elysiatools.com/zh/tools/combinatorial-generation): 生成多重集的排列、组合与子集，自动去重并按字典序输出：排列用 next_permutation，精确计数 n!/Π(mᵢ!)；组合生成不同的 k-子多重集，计数为 Π(1+x+…+x^mᵢ) 中 x^k 的系数（元素互异时即 C(n,k)）；子集枚举所有子多重集，计数 Π(mᵢ+1)（互异时 2ⁿ），含空集。最多 12 个元素，展示上限 200 条但计数始终精确；组合模式要求 1 ≤ k ≤ n。经典例：\[A, A, B\] 的排列 → 3!/2! = 3 个（AAB、ABA、BAA）；\[A, A, B\] 的子集 → (2+1)(1+1) = 6 个。
- [欧拉函数 φ(n) 计算器](https://elysiatools.com/zh/tools/euler-totient-function): 计算欧拉函数 φ(n)——\[1, n\] 中与 n 互素的正整数个数。先做试除法质因数分解，再按 φ(n) = n · Π(1 − 1/p) 精确求值（n ≤ 10¹²），可附带列出前 60 个互素数，并给出欧拉定理 a^φ(n) ≡ 1 (mod n)。经典例：φ(36) = 12（36 = 2² × 3²）；n 为素数时 φ(n) = n − 1，如 φ(97) = 96。
- [分数小数转换器](https://elysiatools.com/zh/tools/fraction-decimal-converter): 在分数和小数之间转换，支持带分数、假分数和各种小数格式
- [零和博弈求解器（鞍点 / 线性规划混合策略）](https://elysiatools.com/zh/tools/game-theory-zero-sum): 求解 2–6 × 2–6 双人零和博弈（支付矩阵归行方——最大化者，列方支付）：先做鞍点检验（行最小值的最大值 = 列最大值的最小值时存在纯策略均衡，列出所有鞍点格）；否则移位矩阵使元素 ≥ 1 后用单阶段单纯形（松弛基、Bland 规则）求解 max Σz s.t. Bz ≤ 1，其原始解给出列方混合策略 q，对偶影子价格恰为行方 LP 解 y，值移回后给出 x、q、v，并数值验证双方安全策略（xᵀA ≥ v、Aq ≤ v）与极小极大相等。经典例：猜硬币 \[\[1,-1\],\[-1,1\]\] → 值 0，双方各以 0.5/0.5 混合。
- [拉普拉斯逆变换计算器（部分分式法）](https://elysiatools.com/zh/tools/inverse-laplace-calculator): 对有理函数 F(s) = N(s)/D(s)（真分式，分母次数 ≤ 6）求拉普拉斯逆变换：先对分母求根并按重数/共轭对分组，再解多项式系数线性方程组得到部分分式分解，最后逐项查表反变换（A/(s−r)→Ae^(rt)、A/(s−r)^j→At^(j−1)e^(rt)/(j−1)!、(Bs+C)/((s−α)²+β²)→e^(αt)\[Bcos(βt)+…sin(βt)\]）。经典例：1/(s²+3s+2) → e^(−t)−e^(−2t)；(3s+5)/(s²+4) → 3cos(2t)+2.5sin(2t)。
- [拉普拉斯变换计算器（常用函数对查表）](https://elysiatools.com/zh/tools/laplace-transform-calculator): 查表求常用函数的拉普拉斯变换 F(s) = ∫₀^∞ e^(−st)f(t)dt：覆盖 14 组标准变换对（1、t、tⁿ、e^(at)、tⁿe^(at)、sin/cos(kt) 及其指数移位、sinh/cosh、t·sin/t·cos、δ(t)），带参数代入、收敛域（如 s > a）、推导要点，并可在指定 s 处数值求值（自动校验收敛）。示例：L{e^t} = 1/(s−1)，s>1，F(2) = 1。
- [模 n 乘法阶计算器（乘法群元素阶）](https://elysiatools.com/zh/tools/order-of-element-mod-n): 求元素 a 模 n 的乘法阶 ord\_n(a)——使 a^k ≡ 1 (mod n) 的最小 k ≥ 1（要求 gcd(a, n) = 1）。算法从 φ(n) 出发逐个剥去素因子并测试 a^(ord/p)，输出 a 的幂表、最小性证明（对每个整除 k 的素数 p 验证 a^(k/p) ≢ 1）、生成的循环子群 ，并标注 a 是否为原根（ord = φ(n)）或达到最大阶（ord = λ(n)）。经典例：ord\_7(3) = 6 = φ(7)，3 是 mod 7 的原根；ord\_15(2) = 4 < φ(15) = 8。

## 示例

- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Rust 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-rust): Web Rust 图像处理示例，包括图像读取保存、缩放和格式转换
