0から数えるかどうかはどこに記載すべきですか?
関数の境界と呼び出し側の期待の両方に示してください。返される添字と表示位置を別々に示す例も含めます。そうすれば、別の場所に余計な調整を加えずに変換をレビューしやすくなります。
参加者1から10000人、数える歩幅1から1000000でヨセフス問題の生存者をゼロ始まりの添字で求めます。
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 survivordef 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関数内では正しい添字でも、インターフェースの位置の表し方が異なれば、違う項目を指すことがあります。CircleJuncoは、その不一致をプロジェクトのファイル間で追跡するWindows向けAIコーディングワークスペースです。数え始める位置と、返された位置が表示ラベルや選択レコードに変わる方法を、まず示してください。どちらかを編集する前に両方の規約を調べるよう依頼します。
ヨセフス問題の生存者の添字を求める例は、具体的な開発課題になります。入力人数と間隔の制限を確認し、返された添字を利用側まで追跡できます。呼び出し側が添字を期待するのか、人が読む位置番号を期待するのか合意してから変更を依頼してください。手作業で確認できる小さな例なら、大量の出力に規約を埋もれさせず、意図した動作を示せます。
対応するOpenAI互換またはAnthropicのエンドポイントで提供されていれば、拒否抑制を解除したAIモデルを選び、必要な認証情報を設定できます。ツールへのアクセス、コンテキスト、制限はモデルとサーバーによって決まります。変換や検証の変更案をレビューし、呼び出し側を通してプロジェクトのテストを実行してください。ローカルモデルには別途稼働するサーバーが必要であり、接続されたほかのツールが作業中に外部サービスを使う場合もあります。
関数の境界と呼び出し側の期待の両方に示してください。返される添字と表示位置を別々に示す例も含めます。そうすれば、別の場所に余計な調整を加えずに変換をレビューしやすくなります。
まずすべての呼び出し側を調べてください。添字を期待している場合、1つのラベルが改善してもヘルパーの変更で選択ロジックを壊す可能性があります。アプリケーションの契約に適した境界で変換する案を求めてください。
手作業で追える人数と間隔を選び、期待する生存者と表示ラベルを示してください。受け付ける最小入力も含めます。説明のない大きな結果よりも、こうした例のほうが規約の不一致を明確に示します。
この例は自動シミュレーション機能を示していません。ワークスペースは実装についての対話とレビューを支援します。自分のプロジェクト環境でコードを実行し、課題に定めた受け入れ例と出力を比較してください。
CircleJunco · 更新日 2026-10-25