TTripleMistral
AIコーディングワークスペース

原始ピタゴラス数

斜辺が0から500の指定上限以下となる原始的な整数直角三角形を列挙します。

● ● ●TripleMistral●
ワークフロー · 原始ピタゴラス数 ×
from math import gcd

def primitive_triples(limit):
    if type(limit) is not int or not 0 <= limit <= 500:
        raise ValueError("hypotenuse.limit")
    result, m = [], 2
    while m * m + 1 <= limit:
        for n in range(1, m):
            c = m * m + n * n
            if c <= limit and (m - n) % 2 and gcd(m, n) == 1:
                a, b = sorted((m * m - n * n, 2 * m * n))
                result.append((a, b, c))
        m += 1
    return sorted(result, key=lambda t: (t[2], t[0], t[1]))
✳斜辺が0から500の指定上限以下となる原始的な整数直角三角形を列挙します。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
  1. 適用前に確認

    実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

  2. モデル

    OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。

  3. プロジェクト

    空の結果と3-4-5を確認し、倍数を除き、短い辺を順序付けた各組を一度だけ返します。

ワークフロー

原始ピタゴラス数

ワークフロー ↗
ワークフロー
from math import gcd

def primitive_triples(limit):
    if type(limit) is not int or not 0 <= limit <= 500:
        raise ValueError("hypotenuse.limit")
    result, m = [], 2
    while m * m + 1 <= limit:
        for n in range(1, m):
            c = m * m + n * n
            if c <= limit and (m - n) % 2 and gcd(m, n) == 1:
                a, b = sorted((m * m - n * n, 2 * m * n))
                result.append((a, b, c))
        m += 1
    return sorted(result, key=lambda t: (t[2], t[0], t[1]))
AIコーディングワークスペース

小さな計算処理を信頼できるプロジェクト部品へ

TripleMistralは、より大きなアプリケーションに組み込む小規模な計算部品を開発するためのWindows向けAIコーディングワークスペースです。期待する結果と入力の制限から始め、その部品を呼び出すプロジェクトコードを調べるようアシスタントに依頼します。有用なコーディングの対話では、値を生む計算だけでなく、戻り値の形式や失敗時の動作も扱います。

triples.pyを題材に、上限を設けた原始ピタゴラス数の列挙を検討できます。選んだ上限と結果の並び順が呼び出し側にどう関係するかモデルに説明させ、手作業で確認できる例をいくつか使って修正案をレビューします。目的はホームページを数学の授業にすることではなく、明確な要件を、検査とテストができる部品にする過程を示すことです。

意味のある最小入力と受け付ける上限付近で、プロジェクトのチェックを実行してください。出力をほかで使う前に、重複と並び順が契約に合うことを確認します。TripleMistralは対応するOpenAI互換またはAnthropicのエンドポイントに接続でき、提供されていればフィルターなしモデルも選べます。認証情報が必要な場合があり、ポリシー、コンテキスト容量、ツールは選んだモデルとサーバーが決定します。検証とモデルの説明は分けて考えてください。自信に満ちた説明でも、列挙が完全である証明にはなりません。

計算部品を追加するときの質問

呼び出し側に結果の並び順をどう伝えるべきですか?

順序が契約の一部なのか、単なる実装上の詳細なのかを明記してください。利用側が列を表示または比較する場合、結果の蓄積方法を変えるリファクタリングを採用する前に、必要な並び順を明示的にテストします。

結果に重複がないことをどう確認できますか?

期待する結果を独立に列挙できる小さな入力を選び、出力全体を比較します。生成条件もレビューしてください。重複除去の処理が、無駄な反復や根本的に誤った規則を隠す場合があるためです。

無効な上限には空の結果を返すべきですか?

結果が存在しない有効な入力と、対応する契約の範囲外の入力を区別してください。拒否すべきものをアシスタントに伝え、呼び出し側の応答をテストします。無効なパラメーターが、成功した空の計算に黙って見えてしまうことを防ぎます。

この例はあらゆる計算ツールへの対応を示していますか?

これは具体的な開発課題であり、内蔵ツールの一覧ではありません。自分のプロジェクトと要件を持ち込み、提案を調べ、その部品と実行環境に適したチェックを行ってください。

Windows版をダウンロード ↗

TripleMistral · 更新日 2026-10-25