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

ヨセフス問題の生存者添字

参加者1から10000人、数える歩幅1から1000000でヨセフス問題の生存者をゼロ始まりの添字で求めます。

● ● ●CircleJunco●
ワークフロー · ヨセフス問題の生存者添字 ×
def josephus_index(count, step):
    if type(count) is not int or not 1 <= count <= 10000:
        raise ValueError("circle.count")
    if type(step) is not int or not 1 <= step <= 1000000:
        raise ValueError("circle.step")
    survivor = 0
    for size in range(2, count + 1):
        survivor = (survivor + step) % size
    return survivor
✳参加者1から10000人、数える歩幅1から1000000でヨセフス問題の生存者をゼロ始まりの添字で求めます。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
モデル
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
プロジェクト
参加者1人と歩幅1を試し、ゼロ、分数、真偽値の引数を拒否します。
適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
ワークフロー

ヨセフス問題の生存者添字

ワークフロー ↗
ワークフロー
def josephus_index(count, step):
    if type(count) is not int or not 1 <= count <= 10000:
        raise ValueError("circle.count")
    if type(step) is not int or not 1 <= step <= 1000000:
        raise ValueError("circle.step")
    survivor = 0
    for size in range(2, count + 1):
        survivor = (survivor + step) % size
    return survivor
AIコーディングワークスペース

インターフェースに届く前に添字の不一致を見つける

関数内では正しい添字でも、インターフェースの位置の表し方が異なれば、違う項目を指すことがあります。CircleJuncoは、その不一致をプロジェクトのファイル間で追跡するWindows向けAIコーディングワークスペースです。数え始める位置と、返された位置が表示ラベルや選択レコードに変わる方法を、まず示してください。どちらかを編集する前に両方の規約を調べるよう依頼します。

ヨセフス問題の生存者の添字を求める例は、具体的な開発課題になります。入力人数と間隔の制限を確認し、返された添字を利用側まで追跡できます。呼び出し側が添字を期待するのか、人が読む位置番号を期待するのか合意してから変更を依頼してください。手作業で確認できる小さな例なら、大量の出力に規約を埋もれさせず、意図した動作を示せます。

対応するOpenAI互換またはAnthropicのエンドポイントで提供されていれば、拒否抑制を解除したAIモデルを選び、必要な認証情報を設定できます。ツールへのアクセス、コンテキスト、制限はモデルとサーバーによって決まります。変換や検証の変更案をレビューし、呼び出し側を通してプロジェクトのテストを実行してください。ローカルモデルには別途稼働するサーバーが必要であり、接続されたほかのツールが作業中に外部サービスを使う場合もあります。

コード全体で数え方の規約を確認する

0から数えるかどうかはどこに記載すべきですか?

関数の境界と呼び出し側の期待の両方に示してください。返される添字と表示位置を別々に示す例も含めます。そうすれば、別の場所に余計な調整を加えずに変換をレビューしやすくなります。

ラベルを直すためにヘルパー内で1を足すべきですか?

まずすべての呼び出し側を調べてください。添字を期待している場合、1つのラベルが改善してもヘルパーの変更で選択ロジックを壊す可能性があります。アプリケーションの契約に適した境界で変換する案を求めてください。

この課題に役立つ小さな例とは何ですか?

手作業で追える人数と間隔を選び、期待する生存者と表示ラベルを示してください。受け付ける最小入力も含めます。説明のない大きな結果よりも、こうした例のほうが規約の不一致を明確に示します。

CircleJuncoは循環する処理を自動でシミュレーションしますか?

この例は自動シミュレーション機能を示していません。ワークスペースは実装についての対話とレビューを支援します。自分のプロジェクト環境でコードを実行し、課題に定めた受け入れ例と出力を比較してください。

Windows版をダウンロード ↗

CircleJunco · 更新日 2026-10-25