MCP HubMCP Hub
Volver a habilidades

analyze-prime-numbers

pjt222
Actualizado 6 days ago
20 vistas
17
2
17
Ver en GitHub
Pruebastesting

Acerca de

Esta habilidad proporciona análisis de números primos, incluyendo pruebas de primalidad, factorización y cálculos de distribución utilizando algoritmos como Miller-Rabin y la Criba de Eratóstenes. Úsela para determinar si los números son primos, encontrar factores primos, o listar/contar primos dentro de límites. Es adecuada para cálculos de teoría de números, demostraciones y análisis matemático general que involucren propiedades de los números primos.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/analyze-prime-numbers

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

析素數

擇宜算法以應其事:素性試、整因子分解、素分布析。以計算驗其果,而連素數定理。

用時

  • 定整為素或合乃用
  • 尋整之全素因子分解乃用
  • 計或列至界之素乃用
  • 於特區驗素數定理之近乃用
  • 於數論之證或算中察素之屬乃用

  • 必要:待析之整或分布析之界
  • 必要:事類——素性試、因子分解、或分布析之一
  • 可選:所擇算法(試除、Miller-Rabin、Eratosthenes 篩、Pollard rho)
  • 可選:生素性之正證抑或僅計算判
  • 可選:出之式(因樹、素列、計、表)

第一步:定事類

分請求為三類,擇宜算路。

  1. 素性試:予整 n,定 n 為素否。
  2. 因子分解:予合整 n,尋其全素因子分解。
  3. 分布析:予界 N,析至 N 之諸素(計、列、隙、密)。

錄事類與入值。

得: 清分類附入值已錄。

敗則: 若入曖昧(如「析 60」),求用者明其欲素試、因分、或分布。合數默因分,疑素默素性確。

第二步:施素性試(若事為素性)

以合 n 大之算法試 n 為素否。

  1. 處特例:n < 2 非素。n = 2 或 n = 3 為素。n 偶而 n > 2 為合。

  2. 小 n(n < 10^6):用試除。

    • 試諸素 p ≤ floor(sqrt(n)) 之整除。
    • 優:試 2,後奇 3、5、7、… 或用 6k +/- 1 輪。
    • 無除者則 n 為素。
  3. 大 n(n >= 10^6):用 Miller-Rabin 概率試。

    • 書 n - 1 = 2^s * d,d 奇。
    • 每證 a ∈ {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37}:
      • 算 x = a^d mod n。
      • 若 x = 1 或 x = n - 1,此證過。
      • 否則方 x 至多 s - 1 次。若 x 等 n - 1,過。
      • 若無過,n 為合(a 為證)。
    • n < 3.317 * 10^24,諸證 {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37} 給定果。
  4. 錄判:素或合,附證或憑。

小素參(首 25):

IndexPrimeIndexPrimeIndexPrime
1210291967
2311312071
3512372173
4713412279
51114432383
61315472489
71716532597
8191759
9231861

得: 決判(素或合)附所用算法與諸證或除者。

敗則: 若 Miller-Rabin 報「概素」而需確,升至決試(如 AKS 或 ECPP)。試除若太緩,轉 Miller-Rabin。

第三步:施因子分解(若事為分解)

全分 n 為素冪之式。

  1. 試除小因

    • 盡除 2 錄冪。
    • 除奇素 3、5、7、11、… 至截(如 10^4 或若 n 小 sqrt(n))。
    • 每除後更 n 為餘。
  2. 若餘 > 1 且 < 10^12:試除續至 sqrt(餘)。

  3. 若餘 > 1 且 >= 10^12:施 Pollard rho。

    • 擇 f(x) = x^2 + c (mod n),c 隨機。
    • 用 Floyd 環察:x = f(x)、y = f(f(y))。
    • 每步算 d = gcd(|x - y|, n)。
    • 若 1 < d < n,d 為非平因。遞於 d 與 n/d。
    • 若 d = n,換 c 再試。
  4. :乘諸素因(含冪)確積等原 n。試每因之素性。

  5. 呈果於標式:n = p1^a1 * p2^a2 * … * pk^ak,p1 < p2 < … < pk。

算法繁度注:

AlgorithmComplexityBest for
Trial divisionO(sqrt(n))n < 10^12
Pollard's rhoO(n^{1/4}) expectedn up to ~10^18
Quadratic sieveL(n)^{1+o(1)}n up to ~10^50
GNFSL(n)^{(64/9)^{1/3}+o(1)}n > 10^50

得: 全素因子分解於標式,驗以乘。

敗則: 若 Pollard rho 多迭無非平因(環察得而 gcd 平),試異 c(至少五次)。皆敗則餘或為素——以素試確。

第四步:施分布析(若事為分布)

析至給界 N 之素分布。

  1. 以 Eratosthenes 篩生素

    • 建大 N + 1 之布爾列,初真。
    • 0、1 設假(非素)。
    • 每 p 自 2 至 floor(sqrt(N)):
      • 若 p 猶真,標 p^2、p^2 + p、p^2 + 2p、… 為假。
    • 集諸猶真之索。
  2. 計素:算 pi(N) = 至 N 之素計。

  3. 比素數定理

    • PNT 近:pi(N) ~ N / ln(N)。
    • 對數積近:Li(N) = 自 2 至 N 之 1/ln(t) 積。
    • 算相對誤:|pi(N) - N/ln(N)| / pi(N)。
  4. 析素隙(可選):

    • 算連素之隙。
    • 報最大隙、均隙、諸雙素(隙 = 2)。
    • N 附近均隙近 ln(N)。
  5. 呈發現於要表:

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

得: 素計附 PNT 比與可選隙析。

敗則: 若 N 過大不可內存篩(N > 10^9),用段篩按塊處。若僅需計(非列),Meissel-Lehmer 算法直算 pi(N)。

第五步:以計算驗果

用獨立計算法交驗諸果。

  1. 素性:若用試除,以速 Miller-Rabin 驗(或反之)。已知素對公素表或 OEIS 序列察。

  2. 因分:乘諸因確等原入。獨試每宣素因之素性。

  3. 分布:自篩出試 3-5 數之素性為點察。對標基(pi(10^k) k = 1, …, 9)之公 pi(N) 比。

公 pi(N):

Npi(N)
104
10025
1,000168
10,0001,229
100,0009,592
10^678,498
10^7664,579
10^85,761,455
10^950,847,534
  1. 書驗附所用法與結果。

得: 諸果經獨立驗無異。

敗則: 若驗顯異,再行原算開額外察(如詳試除日誌)。最常訛:篩界偏一、模算整溢、誤偽素為素。

  • 事類正分(素性、因分、分布)
  • 算法合入大
  • 特例(n < 2、n = 2、n 偶)於通算法前處
  • 素判決定(非「概素」無修飾)
  • 因分乘回原數
  • 每宣素因已試素性
  • 篩界含 sqrt(N) 覆以標合
  • PNT 比用正式(N/ln(N) 或 Li(N))
  • 果以獨立法或對公值驗
  • 邊例(n = 0、1、2、負入)皆處

  • 忘 n = 1 非素:按約,1 非素非合。諸算法默誤分
  • 模冪之整溢:Miller-Rabin 之 a^d mod n,拙冪則溢。用模冪(重方附步模)
  • 篩之偏一:篩必自 p^2 標合,非 2p。自 2p 耗時而正;自 p+1 則誤
  • Pollard rho 環 d = n:若 gcd(|x - y|, n) = n,算法得平因。換多項常 c 再試,非僅異起點
  • Carmichael 數欺費馬試:如 561 = 3 * 11 * 17 於諸互素基過費馬試。恆用 Miller-Rabin,非純費馬
  • 混 pi(n) 與常 pi:素計函 pi(n) 與圓常 3.14159… 共號。境當無歧

  • solve-modular-arithmetic — 模算為 Miller-Rabin 與諸因分之基
  • explore-diophantine-equations — 素因分為解諸丟番圖方程之前提
  • formulate-quantum-problem — Shor 算法連素與量子算

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/wenyan/skills/analyze-prime-numbers
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

evaluating-llms-harness

Pruebas

Esta Skill de Claude ejecuta el benchmark lm-evaluation-harness para evaluar modelos de lenguaje en más de 60 tareas académicas estandarizadas como MMLU y GSM8K. Está diseñada para que los desarrolladores comparen la calidad de los modelos, realicen seguimiento del progreso del entrenamiento o reporten resultados académicos. La herramienta admite varios backends, incluidos modelos de HuggingFace y vLLM.

Ver habilidad

cloudflare-cron-triggers

Pruebas

Esta habilidad proporciona conocimiento integral para implementar Cron Triggers de Cloudflare y programar Workers mediante expresiones cron. Cubre la configuración de tareas periódicas, trabajos de mantenimiento y flujos de trabajo automatizados, manejando problemas comunes como expresiones cron inválidas y inconvenientes de zonas horarias. Los desarrolladores pueden utilizarla para configurar manejadores programados, probar activadores cron e integrar con Workflows y Green Compute.

Ver habilidad

webapp-testing

Pruebas

Esta habilidad de Claude proporciona un kit de herramientas basado en Playwright para probar aplicaciones web locales mediante scripts de Python. Permite verificación de frontend, depuración de interfaz de usuario, captura de pantallas y visualización de registros, mientras gestiona los ciclos de vida del servidor. Úsela para tareas de automatización de navegadores, pero ejecute los scripts directamente en lugar de leer su código fuente para evitar contaminación del contexto.

Ver habilidad

finishing-a-development-branch

Pruebas

Esta habilidad ayuda a los desarrolladores a completar el trabajo terminado verificando que las pruebas pasen y luego presentando opciones estructuradas de integración. Guía el flujo de trabajo para fusionar, crear PRs o limpiar ramas después de que se completa la implementación. Úsala cuando tu código esté listo y probado para finalizar sistemáticamente el proceso de desarrollo.

Ver habilidad