MCP HubMCP Hub
SKILL·E557B5

analyze-prime-numbers

pjt222
업데이트됨 3 months ago
10 조회
31
3
31
GitHub에서 보기
기타general

정보

이 스킬은 소수의 속성을 분석하며, 소수 판별과 소인수분해를 수행합니다. 여기에는 시행 나눗셈, 밀러-라빈 알고리즘, 에라토스테네스의 체와 같은 알고리즘과 더불어 정수론 함수 및 RSA 암호화 기초가 포함됩니다. 숫자가 소수인지 판별하거나 합성수를 인수분해하거나 암호화 기초 작업이 필요할 때 사용하십시오.

빠른 설치

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에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서


name: analyze-prime-numbers description: > 素数の性質を分析し、素数判定と素因数分解を行う。試し割り法、ミラー-ラビン素数判定、 エラトステネスの篩、素数定理の適用、および暗号学的応用(RSA)の基礎を含む。 license: MIT allowed-tools: Read Grep Glob WebFetch WebSearch metadata: author: Philipp Thoss version: "1.0" domain: number-theory complexity: intermediate language: natural tags: number-theory, primes, factorization, primality-testing, cryptography locale: ja source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16

素数の分析

素数の性質を系統的に分析する。素数判定アルゴリズムの選択と適用、素因数分解の実行、素数の分布に関する定理の活用、および数論的関数(オイラーのトーシェント関数、メビウス関数)の計算を含む。

使用タイミング

  • 与えられた数が素数かどうかを判定する場合
  • 合成数の素因数分解を行う場合
  • 一定範囲内のすべての素数を列挙する場合
  • 素数定理を使用して素数の近似個数を推定する場合
  • オイラーのトーシェント関数やメビウス関数を計算する場合
  • RSA暗号などの暗号学的応用の基礎を理解する場合

入力

  • 必須: 分析対象の数(素数判定)、または分析すべき範囲(素数の列挙)
  • 必須: 分析タイプ(素数判定、素因数分解、範囲内列挙、数論的関数の計算)
  • 任意: 使用するアルゴリズムの指定
  • 任意: 確率的判定の許容誤差

手順

ステップ1: 問題の分類とアルゴリズムの選択

分析タイプと数の大きさに基づいて適切なアルゴリズムを選択する:

  1. 小さい数(< 10^6): 試し割り法またはエラトステネスの篩
  2. 中程度の数(10^6 - 10^18): ミラー-ラビン素数判定(確率的)
  3. 大きい数(> 10^18): ミラー-ラビンまたはAKS素数判定(決定的)
  4. 素因数分解: 試し割り → ポラードのρ法 → 二次篩法 → 数体篩法(数の大きさに応じて)

期待結果: 数の大きさと分析タイプに適したアルゴリズムが選択される。

失敗時: アルゴリズムの計算量が許容範囲を超える場合は、確率的方法に切り替えて誤差の上限を明示する。

ステップ2: 素数判定の実行

選択したアルゴリズムで素数判定を実行する:

  1. 試し割り法: √n以下のすべての素数で割り切れるか検査する。O(√n)。
  2. エラトステネスの篩: 2からnまでの配列で合成数を消していく。O(n log log n)。
  3. ミラー-ラビン判定: n-1 = 2^s × dの分解を行い、ランダムな基底aに対してフェルマーの小定理の変形を検証する。
  4. 結果の記録: 素数ならば「素数」、合成数ならば因数とともに記録する。

期待結果: 素数判定が正確に完了し、結果が記録される。

失敗時: ミラー-ラビン判定で偽陽性が懸念される場合は、複数の基底(最低10個)でテストするか、決定的テスト(特定の基底の組み合わせ)を使用する。

ステップ3: 素因数分解の実行

合成数の完全な素因数分解を求める:

  1. 小さい因数の除去: 2、3、5、7、...と順に割り、小さい素因数を除去する。
  2. ポラードのρ法: 擬似乱数列 x_{n+1} = x_n² + c (mod n) を生成し、gcd(|x_i - x_j|, n)で因数を検出する。
  3. 再帰的分解: 見つかった因数が合成数の場合は、さらに分解を続ける。
  4. 一意性の確認: 算術の基本定理により、素因数分解は(順序を除いて)一意。

期待結果: 完全な素因数分解 n = p₁^a₁ × p₂^a₂ × ... × pₖ^aₖ が得られる。

失敗時: 大きな半素数(2つの大きな素数の積)の場合、ρ法では時間がかかる。二次篩法や数体篩法の使用を検討する。

ステップ4: 数論的関数の計算

素因数分解を利用して数論的関数を計算する:

  1. オイラーのトーシェント関数: φ(n) = n × ∏(1 - 1/p)(pはnの素因数)
  2. 約数関数: σ₀(n)(約数の個数)= ∏(aᵢ + 1)、σ₁(n)(約数の和)= ∏(pᵢ^(aᵢ+1) - 1)/(pᵢ - 1)
  3. メビウス関数: μ(n) = (-1)^k(nがk個の異なる素因数の積の場合)、μ(n) = 0(平方因子がある場合)
  4. 位数と原始根: φ(n)の約数を検査して乗法的位数を求める。原始根の存在条件を確認する。

期待結果: 要求された数論的関数の値が正確に計算される。

失敗時: 素因数分解が不完全な場合は、数論的関数の計算も不完全になる。まず完全な素因数分解を確保すること。

バリデーション

  • アルゴリズムが数の大きさに適している
  • 素数判定の結果が正しい(小さい数は検算可能)
  • 素因数分解の積が元の数に等しい
  • すべての因数が素数である
  • 数論的関数の値が正しい(既知の値との照合)

よくある落とし穴

  • 1は素数ではない: 素数の定義は「1より大きい自然数で、1と自分自身以外に正の約数を持たない数」。1は素数でも合成数でもない。
  • ミラー-ラビンの偽陽性: 確率的テストでは合成数を素数と誤判定する可能性がある。高い確実性が必要な場合は十分な回数テストを繰り返す。
  • 試し割りの上限: √nまでで十分。√nを超える因数が存在する場合、n/pは√n未満であり、既にチェック済み。
  • 素因数分解の計算困難性: RSA暗号の安全性は大きな数の素因数分解が計算困難であることに依存する。この困難性は証明されていないが、広く信じられている。

関連スキル

  • solve-modular-arithmetic -- 素数が関わる合同算術
  • explore-diophantine-equations -- 素数の性質を利用した整数方程式

GitHub 저장소

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

자주 묻는 질문

analyze-prime-numbers Skill이란 무엇인가요?

analyze-prime-numbers은(는) pjt222이(가) 만든 Claude Skill입니다. Skill은 Claude가 필요할 때 불러오는 지침과 리소스를 묶어 추가 프롬프트 없이 analyze-prime-numbers 관련 작업을 수행할 수 있게 합니다.

analyze-prime-numbers은(는) 어떻게 설치하나요?

이 페이지의 설치 명령을 사용하세요. analyze-prime-numbers을(를) Claude Code 플러그인으로 추가하거나 저장소를 skills 디렉터리에 복제한 다음 Claude를 다시 시작해 Skill을 불러옵니다.

analyze-prime-numbers은(는) 어떤 카테고리에 속하나요?

analyze-prime-numbers은(는) 기타 카테고리에 속합니다.

analyze-prime-numbers은(는) 무료로 사용할 수 있나요?

네. analyze-prime-numbers은(는) AIMCP에 등록되어 있으며 무료로 설치할 수 있습니다.

연관 스킬

llamaguard
기타

LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.

스킬 보기
cost-optimization
기타

이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.

스킬 보기
sports-betting-analyzer
기타

이 Claude Skill은 스프레드, 오버/언더, 프로프 베트를 포함한 스포츠 베팅 시장을 분석합니다. 역사적 추이와 상황별 통계를 검토하여 가치 베트를 발견하고, 교육적 목적으로 실행 가능한 권장 사항이 담긴 구조화된 마크다운 결과를 제공합니다. 개발자는 이 기능을 스포츠 베팅 분석 도구에 활용할 수 있으며, 단순히 엔터테인먼트/교육 목적으로만 설계되었음을 유의해야 합니다.

스킬 보기
quantizing-models-bitsandbytes
기타

이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.

스킬 보기