技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
analyze-prime-numbers【数据与研究】Analyze prime numbers using primality tests, factorization algorithms, prime distribution analysis, and sieve methods. Covers trial division, Miller-Rabin, Sieve of Eratosthenes, and the Prime Number Theorem. Use when determining whether an integer is prime or composite, finding prime factorizations, counting or listing primes up to a bound, or inves…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Select + apply right algo: primality, factorization, distribution. Verify computationally + relate to Prime Number Theorem.
Classify → 1 of 3 + select algo path:
Record task + in values.
→ Clear classification + in values recorded.
If err: Ambiguous ("analyze 60") → ask clarify primality vs factorization vs distribution. Default factorization for composites + primality confirm suspected primes.
Test n prime, algo matched to size:
Trivial: n < 2 not prime. n = 2 or 3 prime. n even + n > 2 → composite.
Small n (<10^6): Trial division.
Large n (>=10^6): Miller-Rabin probabilistic.
Record verdict: prime or composite + witness/cert.
Small primes (1st 25):
| Index | Prime | Index | Prime | Index | Prime |
|---|---|---|---|---|---|
| 1 | 2 | 10 | 29 | 19 | 67 |
| 2 | 3 | 11 | 31 | 20 | 71 |
| 3 | 5 | 12 | 37 | 21 | 73 |
| 4 | 7 | 13 | 41 | 22 | 79 |
| 5 | 11 | 14 | 43 | 23 | 83 |
| 6 | 13 | 15 | 47 | 24 | 89 |
| 7 | 17 | 16 | 53 | 25 | 97 |
| 8 | 19 | 17 | 59 | ||
| 9 | 23 | 18 | 61 |
→ Definitive (prime/composite) + algo used + witnesses/divisors.
If err: Miller-Rabin "probably prime" + certainty needed → escalate deterministic (AKS or ECPP). Trial div too slow → Miller-Rabin.
Factor n completely → prime power decomposition:
Extract small factors by trial div:
Cofactor > 1 + <10^12: Continue trial div ≤ sqrt(cofactor).
Cofactor >= 10^12: Pollard's rho.
Verify: Multiply all prime factors + exponents = original n. Test each factor primality.
Present: n = p1^a1 * p2^a2 * ... * pk^ak, p1 < p2 < ... < pk.
Algo complexity:
| Algo | Complexity | Best for |
|---|---|---|
| Trial division | O(sqrt(n)) | n < 10^12 |
| Pollard's rho | O(n^{1/4}) expected | n up to ~10^18 |
| Quadratic sieve | L(n)^{1+o(1)} | n up to ~10^50 |
| GNFS | L(n)^{(64/9)^{1/3}+o(1)} | n > 10^50 |
→ Complete prime factorization canonical form + multiplication verified.
If err: Pollard's rho fails after many iters (cycle w/o non-trivial gcd) → try diff c (≥5 attempts). All fail → cofactor may be prime → confirm primality.
Distribution of primes up to N:
Generate via Sieve Eratosthenes:
Count: pi(N) = primes up to N.
Compare w/ PNT:
Analyze gaps (optional):
Present summary:
Bound N: 1,000,000
pi(N): 78,498
N/ln(N): 72,382
Li(N): 78,628
Relative error (N/ln(N)): 7.79%
Relative error (Li(N)): 0.17%
Max prime gap: 148 (between 492113 and 492227)
Twin primes: 8,169 pairs
→ Count + PNT compare + optional gap analysis.
If err: N too large in-mem sieve (N > 10^9) → segmented sieve processes range in blocks. Count only (no list) → Meissel-Lehmer for pi(N) direct.
Cross-check via independent method:
Primality: Trial div used → verify quick Miller-Rabin (or vice versa). Known primes → check published tables or OEIS.
Factorization: Multiply factors + confirm = original. Independently test each claimed prime.
Distribution: Spot-check 3-5 numbers from sieve out for primality. Compare pi(N) published values (pi(10^k) k = 1, ..., 9).
Published pi(N):
| N | pi(N) |
|---|---|
| 10 | 4 |
| 100 | 25 |
| 1,000 | 168 |
| 10,000 | 1,229 |
| 100,000 | 9,592 |
| 10^6 | 78,498 |
| 10^7 | 664,579 |
| 10^8 | 5,761,455 |
| 10^9 | 50,847,534 |
→ All results independently verified no discrepancies.
If err: Verification → discrepancy → re-run w/ extra checks (verbose trial div logging). Common: off-by-one sieve bounds, int overflow modular arithmetic, pseudoprime mistaken prime.
Forget n = 1 not prime: Convention — 1 neither prime nor composite. Many algos silently misclassify.
Int overflow modular exp: Computing a^d mod n for Miller-Rabin, naive exp overflows. Use modular exp (repeated squaring + mod each step).
Sieve off-by-one: Mark composites starting p^2, not 2p. 2p wastes time but correct; p+1 wrong.
Pollard's rho cycle w/ d = n: gcd(|x - y|, n) = n → algo found trivial factor. Retry diff c not just starting pt.
Carmichael nums fooling Fermat: Nums like 561 = 3 * 11 * 17 pass Fermat primality all coprime bases. Always Miller-Rabin, not plain Fermat.
Confuse pi(n) w/ constant pi: Prime counting fn pi(n) + circle constant 3.14159 share notation. Ctx unambiguous.
solve-modular-arithmetic — underpins Miller-Rabin + factorizationexplore-diophantine-equations — factorization prereq for solving manyformulate-quantum-problem — Shor's algo for factorization connects primes → quantum