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

連分数の近似分数

絶対値1000以下の整数係数1から32個の連分数について各近似分数を返します。

● ● ●ConvergeHazel●
ワークフロー · 連分数の近似分数 ×
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
✳絶対値1000以下の整数係数1から32個の連分数について各近似分数を返します。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
  1. プロジェクト

    負の初項と3-7-16を試し、2項目以降の非正値を拒否して分子と分母の組を厳密に保ちます。

  2. 適用前に確認

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

  3. モデル

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

ワークフロー

連分数の近似分数

ワークフロー ↗
ワークフロー
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
AIコーディングワークスペース

アプリケーションの目的を保ちながら数値処理をレビュー

ConvergeHazelは、数値ソースの変更を、それを必要とするプロジェクトとともに検討するWindows向けAIコーディングワークスペースです。フォルダーを開き、アプリケーションが計算をどう使うか説明します。編集を勧める前に関数、呼び出し側、関連テストを調べるよう接続先モデルに依頼してください。この文脈は、数学的にもっともらしい書き換えを実際のソフトウェアの契約に沿わせる助けになります。

convergents.pyの例は、有理近似の列に関する課題の基盤になります。短い入力と期待する正確な分子・分母の組を示し、中間結果が利用側にどう届くか尋ねます。受け付ける項の範囲と出力順を明示的な要件として扱ってください。この例は具体的なレビュー対象を提供しますが、実装と検証は自分のプロジェクトファイルに対して行う作業です。

フィルターなしAIモデルは、それを提供する対応済みのOpenAI互換またはAnthropicのエンドポイントを通じて選択できます。必要に応じて接続と認証情報を設定してください。コンテキスト容量とツールの利用可否はサービスによって異なります。変更案をレビューし、独立に確かめたケースと結果を比較します。後続コードで出力を小数に変換する場合は、厳密な算術の要件を明確に保ってください。各変換の目的を示し、意味が変わり得る境界でチェックすれば、パッチを評価しやすくなります。

数値処理のパッチを検証可能にする

小数の例ではなく厳密な組を示すのはなぜですか?

小数は表現や丸めの違いを隠す場合があります。関数の契約が分子・分母の組を返すなら、まずそれを直接確認してください。その後の小数変換は、独自の精度要件を持つ別の段階として評価します。

削除する入力制限をモデルが決められますか?

理由は提案できますが、受け付ける入力はプロジェクト要件で決めるべきです。範囲を広げる前に検証処理と呼び出し側を調べてください。大きい値や長い列には、元の課題にはなかった追加の資源と出力のチェックが必要な場合があります。

最後の近似だけを検証すればよいですか?

呼び出し側が中間の列を使うなら不十分です。最後の組とともに、期待順序と代表的な先行結果を含めてください。もっともらしい最終値に到達しても、中間の項が誤っていたり順序が変わっていたりする場合があります。

数値の説明とテストが食い違う場合は?

パッチの採用判断を一旦止め、小さなケースをソースに沿って追跡します。期待値を独立に確認し、テストの前提を調べてください。流暢な推論も既存のアサーションも、実証された不一致を調査せず覆す根拠にはなりません。

Windows版をダウンロード ↗

ConvergeHazel · 更新日 2026-10-25