MCP HubMCP Hub
스킬 목록으로 돌아가기

analyze-prime-numbers

pjt222
업데이트됨 6 days ago
18 조회
17
2
17
GitHub에서 보기
테스팅testing

정보

이 스킬은 밀러-라빈 소수 판별법과 에라토스테네스의 체 같은 알고리즘을 사용하여 소수 판정, 인수분해, 분포 계산을 포함한 소수 분석을 제공합니다. 숫자가 소수인지 판별하거나, 소인수를 찾거나, 특정 범위 내의 소수를 나열하거나 개수를 셀 때 사용할 수 있습니다. 소수 특성을 다루는 정수론 계산, 증명, 일반적인 수학적 분석에 적합합니다.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/analyze-prime-numbers

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

析素數

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

用時

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

  • 必要:待析之整或分布析之界
  • 必要:事類——素性試、因子分解、或分布析之一
  • 可選:所擇算法(試除、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 算法連素與量子算

GitHub 저장소

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

연관 스킬

evaluating-llms-harness

테스팅

이 Claude Skill은 MMLU, GSM8K를 포함한 60개 이상의 표준화된 학술 과제에서 LLM 성능을 벤치마크하기 위해 lm-evaluation-harness를 실행합니다. 개발자들이 모델 품질을 비교하고, 학습 진행 상황을 추적하거나 학술 결과를 보고할 수 있도록 설계되었습니다. 이 도구는 HuggingFace와 vLLM 모델을 포함한 다양한 백엔드를 지원합니다.

스킬 보기

cloudflare-cron-triggers

테스팅

이 스킬은 cron 표현식을 사용하여 Worker를 스케줄링하기 위한 Cloudflare Cron Triggers 구현에 관한 포괄적인 지식을 제공합니다. 주기적 작업, 유지보수 작업, 자동화된 워크플로우 설정 방법을 다루며, 잘못된 cron 표현식이나 시간대 문제 같은 일반적인 이슈들을 해결하는 방법을 포함합니다. 개발자들은 이를 통해 스케줄된 핸들러 구성, cron 트리거 테스트, Workflows 및 Green Compute와의 연동 작업을 수행할 수 있습니다.

스킬 보기

webapp-testing

테스팅

이 Claude Skill은 Python 스크립트를 통해 로컬 웹 애플리케이션을 테스트하기 위한 Playwright 기반 툴킷을 제공합니다. 프론트엔드 검증, UI 디버깅, 스크린샷 캡처, 로그 확인 기능을 지원하며 서버 라이프사이클을 관리합니다. 브라우저 자동화 작업에 사용하되 컨텍스트 오염을 방지하기 위해 소스 코드를 읽지 않고 스크립트를 직접 실행하세요.

스킬 보기

finishing-a-development-branch

테스팅

이 스킬은 테스트 통과를 확인한 후 체계적인 통합 옵션을 제시하여 개발자가 완성된 작업을 마무리하도록 돕습니다. 구현이 완료된 후 머지, PR 생성, 브랜치 정리와 같은 워크플로우를 안내합니다. 코드가 준비되고 테스트가 완료되었을 때 개발 프로세스를 체계적으로 마무리하기 위해 사용하세요.

스킬 보기