問題タブ [knuth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
849 参照

knuth - "Man Or Boy" クヌース テストはどのように機能しますか?

Man Or Boy Testが -67 の値を返す方法を説明できる人はいますか?
結果を書き留めるか、デバッガーでトレースしようとしましたが無駄でした。どんな助けでも大歓迎です。
さまざまな実装のリストは、こちらにあります

0 投票する
3 に答える
1266 参照

c++ - Knuth順列アルゴリズム奇妙な振る舞い

coutステートメントに基づいて奇妙な出力を与えるコードを添付しました。このプログラムは基本的にKnuthの順列を計算します。

入力は次のとおりです。run1コードは最初のパスで正常に実行されます:呼び出しトレースは次のようになります:
r un1
ur n1
nur 1
1nur
n1ur
nu1r
nur1このコードの実行後、呼び出しは urn 1が存在
するステップに正しく戻りますが、 「RETURN」ステートメントの下のコード。

また、順列が行われるループ内にcoutがあるとすると、returnステートメントの下にcoutを出力することさえありません。

コードに根本的な欠陥や論理的なバグがあるかどうか教えてください。

ありがとう!

0 投票する
1 に答える
212 参照

literate-programming - ctwill - cweb のミニインデックス

ctwill はどこでダウンロードできますか? ftp.cs.stanford.edu/pub/ctwill/ サイトが機能しません。 ftp://labrea.stanford.edu/pub/ctwill/も同様です。

ありがとう、ラウル

0 投票する
1 に答える
1071 参照

c# - KMP 検索アルゴリズムの修正にご協力ください

こんにちは、Algorithms in C book からKMP 検索の C# バージョンを作成しようとしています。アルゴリズムの欠陥を見つけるのに苦労しています。誰か助けてくれる?

0 投票する
5 に答える
7797 参照

c++ - C++でポアソン変数を生成する

この関数を実装して、ポアソン確率変数を生成しました

ここで、mrandはMersenneTwister乱数ジェネレーターです。ラムダを増やすと、期待される分布が間違ってしまい、平均が750前後で飽和することがわかります。これは数値近似によるものですか、それとも間違いを犯したのでしょうか。

0 投票する
1 に答える
484 参照

java - このシェルソートで H シーケンスを変更するにはどうすればよいですか?

このコードを変更して、このコードの代わりに Knuth の H シーケンスを使用できるようにしたいと考えています。誰かが助けてくれれば、とても感謝しています。

0 投票する
2 に答える
1483 参照

algorithm - より大きな循環文字列の最小循環サブ文字列

私は、より大きな循環文字列で最短の循環サブ文字列の長さを返すアルゴリズムを見つけようとしています。

循環文字列は、「abababab」や「aaaa」など、2つ以上の同一の文字列を連結したものとして定義されます。

ここで、たとえば文字列T = "abbcabbcabbcabbc"の場合、パターン "abbc"のサイクルがありますが、最短の循環サブ文字列は"bb"になります。

0 投票する
0 に答える
190 参照

exception - MMIX: 動的トラップに関する質問

MMIXの割り込みについていくつか質問があります。特殊レジスタrKの定義は「割り込みマスクレジスタ」です。しかし、異なるイベントを異なる方法で扱うようです。

  • I/O ビットの場合 (** ビットを呼び出しましょう: これは通常のケースです。外部割り込みが発生した場合、rK の ** ビットが 0 の場合、rK の ** ビットが 1 に設定されるまで、rQ の ** ビットは「1」を保持します。となり、トラップが発生します。

  • for S-bit (プログラム): のソース コードによるとmmix-pipe、rK の S-bit が 0 の場合でも、セキュリティ例外が発生します。rK の S ビットは 0 から 1 に変更されます。したがって、正のアドレスでは rK の S ビットは 1 である必要があり、負のアドレスでは rK の S ビットは何の効果もありません。システムに「セキュリティ上の問題があった」ことを伝えるために rQ の S ビットのみが使用されます。rK の S ビットは役に立たないようです。

  • Pビット(プログラム)の場合:「命令が特権(負の)仮想アドレスから来る」のは悲しいことです。mmix-doc.pdf にあります。しかし、PC が負のアドレスにある場合、rQ の P ビットが常に 1 に設定されるとは限りません (mmix-pipe も rQ の P ビットを設定しません)。
    私はそれを証明することができます:「再開」insn の前に実行されたすべての命令が rQ の P ビットを 1 に設定する場合、再開は rQ の P ビットも 1 に設定します。 insn は常に TRAP をトリガーします。それは不可能です。そのため、P 例外が禁止されている場合、rQ の P ビットは 1 に設定されません。
    したがって、rK の P ビットはマスクとして使用されるだけでなく、「例外チェックをバイパスするオプション」として使用されます。


ここにいくつかの質問があります。

  • rK のすべてのビットを割り込みのマスクとして作成しないのはなぜですか? S/P ビットをそれほど奇妙にする理由はありますか?

  • rK の対応するビットが 0 の場合、他の rQ のプログラム ビット (rwxnkb) を 1 に設定しますか?

  • Neg-address のように、トリップは発生しませんが、DVWIOUZX ビットは発生した直後に 1 を保持しますか?

0 投票する
0 に答える
4811 参照

c - 首謀者のためのドナルド・クヌースのアルゴリズム

私はMastermindのDonaldKnuth1977アルゴリズムに取り組んでいます(ここ)。私はいくつかのステップを実行しましたが、可能なスコアごとに排除される可能性のある数を計算する方法がわかりません。

これを行う方法はありますか?

ありがとう。

編集:私はCでそれをしました。それは実際には首謀者ではなく、ブルズ&カウズですが、それは同じです。