analyze-prime-numbers
について
このスキルは、素数性テスト(試し割り法、ミラー–ラビン法)、素因数分解(ポラード・ロー法)、エラトステネスの篩や素数定理を用いた分布解析を含む素数分析ツールを提供します。数値が素数かどうかの判定、合成整数の素因数分解、素数の分布パターンの研究にご利用ください。数論アプリケーションや暗号解析に最適です。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/analyze-prime-numbersこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
name: analyze-prime-numbers description: > Primzahlen analysieren durch Primzahltests (Probedivision, Miller-Rabin), Faktorisierung (Probedivision, Pollard-Rho), Sieb des Eratosthenes und Anwendung des Primzahlsatzes. Verwenden zur Bestimmung der Primalität, Faktorzerlegung zusammengesetzter Zahlen und Analyse der Primzahlverteilung. license: MIT allowed-tools: Read Grep Glob WebFetch WebSearch metadata: author: Philipp Thoss version: "1.0" domain: number-theory complexity: intermediate language: multi tags: number-theory, prime-numbers, factorization, primality-testing, sieve locale: de source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16
Primzahlen analysieren
Primzahltests und Faktorisierungsalgorithmen anwenden, um die Primalität von Zahlen zu bestimmen, zusammengesetzte Zahlen in Primfaktoren zu zerlegen und die Verteilung von Primzahlen zu untersuchen.
Wann verwenden
- Bestimmung, ob eine gegebene Zahl prim ist
- Zerlegung einer zusammengesetzten Zahl in ihre Primfaktoren
- Erzeugung aller Primzahlen bis zu einer gegebenen Grenze
- Abschätzung der Primzahlanzahl in einem Intervall
- Vorbereitung zahlentheoretischer Eingaben für Kryptographie oder modulare Arithmetik
Eingaben
- Erforderlich: Zu analysierende Zahl(en) oder Zahlenbereich
- Erforderlich: Aufgabentyp (Primzahltest, Faktorisierung, Sieb oder Verteilungsanalyse)
- Optional: Gewünschte Zuverlässigkeit für probabilistische Tests (Anzahl der Runden)
- Optional: Zeitlimit für Faktorisierungsversuche
Vorgehensweise
Schritt 1: Methode basierend auf Zahlenbereich wählen
Die passende Methode für die Größenordnung der Eingabe auswählen:
- Kleine Zahlen (< 10^6): Probedivision bis sqrt(n) ist effizient. Sieb des Eratosthenes für die Erzeugung aller Primzahlen.
- Mittlere Zahlen (10^6 bis 10^18): Deterministische Miller-Rabin-Tests mit spezifischen Basen, die für den Bereich beweiskräftig sind.
- Große Zahlen (> 10^18): Probabilistische Miller-Rabin-Tests mit mehreren zufälligen Basen. Faktorisierung mit Pollard-Rho oder ECM (Elliptische-Kurven-Methode).
Erwartet: Eine begründete Methodenwahl mit dokumentierter Zuverlässigkeit.
Bei Fehler: Falls die Methode zu langsam ist, zu einer effizienteren Methode wechseln. Falls die probabilistische Methode ein unsicheres Ergebnis liefert, die Anzahl der Runden erhöhen.
Schritt 2: Primzahltest oder Faktorisierung durchführen
Den gewählten Algorithmus ausführen:
- Probedivision: Durch alle Primzahlen p <= sqrt(n) teilen. Falls keine teilt, ist n prim.
- Sieb des Eratosthenes: Alle Vielfachen von Primzahlen ab 2 streichen. Die verbleibenden Zahlen sind prim.
- Miller-Rabin-Test: n-1 = 2^s * d schreiben, dann für Basis a prüfen, ob a^d = 1 (mod n) oder a^(2^r * d) = -1 (mod n) für ein r < s.
- Pollard-Rho: Iterative Sequenz x_{i+1} = x_i^2 + c (mod n) berechnen und ggT(|x_i - x_j|, n) prüfen.
Erwartet: Definitiver Primzahltest oder vollständige Faktorzerlegung mit dokumentiertem Algorithmus.
Bei Fehler: Falls Pollard-Rho keinen Faktor findet, den Parameter c ändern und erneut starten. Falls alle Methoden scheitern, fortgeschrittene Methoden (ECM, Quadratisches Sieb, GNFS) in Betracht ziehen.
Schritt 3: Ergebnis verifizieren und dokumentieren
Das Ergebnis bestätigen und in Kontext setzen:
- Faktorisierung prüfen: Das Produkt aller gefundenen Primfaktoren muss die Originalzahl ergeben.
- Primalität der Faktoren prüfen: Jeden gefundenen Faktor separat auf Primalität testen.
- Primzahlsatz anwenden: Die Ergebnisse mit dem Primzahlsatz pi(x) ~ x/ln(x) vergleichen, um die Plausibilität zu prüfen.
- Besondere Eigenschaften notieren: Zwillingsprimzahlen, Sophie-Germain-Primzahlen, Mersenne-Primzahlen usw.
Erwartet: Verifiziertes Ergebnis mit vollständiger Dokumentation.
Bei Fehler: Falls die Verifikation fehlschlägt, den Algorithmus Schritt für Schritt nachverfolgen, um den Fehler zu lokalisieren.
Validierung
- Methode passend zur Größenordnung gewählt
- Algorithmus korrekt implementiert und ausgeführt
- Ergebnis durch Rückmultiplikation verifiziert (bei Faktorisierung)
- Alle Faktoren auf Primalität geprüft
- Probabilistische Tests mit ausreichend Runden durchgeführt
Häufige Fehler
- 1 als Primzahl betrachten: 1 ist per Definition keine Primzahl. Die Primfaktorzerlegung beginnt bei 2.
- Probedivision über sqrt(n) hinaus: Es genügt, bis sqrt(n) zu prüfen. Falls keine Primzahl bis sqrt(n) die Zahl teilt, ist sie prim.
- Miller-Rabin als deterministisch behandeln: Der allgemeine Miller-Rabin-Test ist probabilistisch. Für deterministische Ergebnisse spezifische Basen verwenden, die für den Zahlenbereich beweiskräftig sind.
- Pollard-Rho bei Primzahlen anwenden: Der Algorithmus findet nur nichttriviale Faktoren. Bei Primzahlen läuft er endlos ohne Ergebnis. Zuerst einen Primzahltest durchführen.
Verwandte Skills
solve-modular-arithmetic-- modulare Arithmetik, die auf Primzahleigenschaften aufbautexplore-diophantine-equations-- diophantische Gleichungen mit Primzahlbezugderive-theoretical-result-- zahlentheoretische Ergebnisse formal herleiten
GitHub リポジトリ
関連スキル
evaluating-llms-harness
テストこのClaudeスキルは、lm-evaluation-harnessを実行し、MMLUやGSM8Kなど60以上の標準化学術タスクでLLMをベンチマークします。開発者がモデルの品質を比較し、トレーニングの進捗を追跡し、学術的な結果を報告するために設計されています。このツールはHuggingFaceやvLLMモデルを含む様々なバックエンドをサポートしています。
cloudflare-cron-triggers
テストこのスキルは、cron式を使用してWorkersをスケジュールするためのCloudflare Cron Triggersの実装に関する包括的な知識を提供します。定期的なタスクの設定、メンテナンスジョブ、自動化されたワークフローの構築を網羅し、無効なcron式やタイムゾーン問題といった一般的な課題への対処法も含みます。開発者はこれを使用して、スケジュールされたハンドラーの設定、cronトリガーのテスト、WorkflowsやGreen Computeとの連携を構成できます。
webapp-testing
テストこのClaude Skillは、Playwrightベースのツールキットを提供し、Pythonスクリプトを通じてローカルWebアプリケーションのテストを可能にします。フロントエンドの検証、UIデバッグ、スクリーンショット撮影、ログ表示を実現し、サーバーライフサイクルを管理します。ブラウザ自動化タスクにご利用いただけますが、コンテキストの汚染を避けるため、スクリプトのソースコードを読むのではなく直接実行してください。
finishing-a-development-branch
テストこのスキルは、開発者がテストの合格を確認し、構造化された統合オプションを提示することで、完成した作業を仕上げることを支援します。実装が完了した後のマージ、PR作成、ブランチの整理といったワークフローを案内します。コードが準備できてテスト済みの際に使用し、開発プロセスを体系的に完了させましょう。
