問題タブ [puzzle]
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.
php - Project Euler Puzzler (具体的には PHP)
別の最近の Project Euler に関する質問がありますが、これはもう少し具体的なものだと思います (私は PHP ベースのソリューションにしか本当に興味がないので) とにかく質問します。
質問 #5は、「1 から 20 までのすべての数で割り切れる最小の数は?」という課題です。
今、私はそれを2回解決しました。かつては非常に非効率的で、かつてははるかに効率的でしたが、特に洗練された答えにはまだほど遠いです(そして、私は数学が特にしっかりしていないため、力ずくの解決策です)。これを改善できる領域がいくつかありますが、この問題に対するより効率的な解決策を示すことができる人がいるかどうか疑問に思っています.
*スポイラー: これは私の最適ではありませんが (実行に 7 秒かかります)、それでも許容できる解決策です (二重の $ についてどうすればよいかわかりません... 1 つしか表示されないふりをしてください...
algorithm - 定期的なタスクが重複するワーカーのスケジューリング
一度に 1 つのタスクしか実行できない 1 人のワーカー (ただし、タスクを即座に切り替えることができます)
与えられたタスクのリスト
-- 「n 秒、m 秒ごと」 (たとえば、3600 秒ごとに 5 秒) として定義
各タスクの最適な開始時間とカウントを見つけるにはどうすればよいですか?
すべてのタスクが「1 秒、60 秒ごと」の場合、それぞれに固有の開始秒があり、カウントは無限 (定常状態) になります。
「4 秒ごとに 1 秒」と「3 秒ごとに 1 秒」の場合、結果は「0、無限、3、3 回」になります。
-- 願わくば最も単純な形式
「開始秒と回数」で詳述されたタスクのリストが既にある場合、追加の {m 秒ごとに n 秒} タスクに対して {start, count} を返す関数はどのようになりますか?
-- (もう少し複雑な形式 --
「m 秒ごとに n 秒」の代わりに
、タスクが「l..o 秒ごとに n 秒」と定義されている場合
、l - o (しかし、タスクが完了するまでその m にコミットする必要があります)、
それによりワーカーの使用率が向上しますか
?最適な 'm' をどのように選択しますか?
c++ - 戻り値に従って C++ 関数をオーバーロードする
パラメータに従って関数をオーバーロードできることは誰もが知っています。
戻り値に応じて関数をオーバーロードできますか? 戻り値の使用方法に応じて異なるものを返す関数を定義します。
最初のパラメーターは 0 から 9 の間であると想定できます。入力を検証したり、エラー処理を行ったりする必要はありません。
c - 比較演算子を使用せず、if、else などを使用せずに、2 つの整数の最大値をプログラムで返すにはどうすればよいですか?
if
比較演算子を使用せず、 、 などを使用せずに、最大 2 つの整数をプログラムで返すにはどうすればよいelse
ですか?
algorithm - 2 のべき乗を法とする定数になる乗算チェーン
「乗算チェーン」を与える実用的なアルゴリズムはありますか
明確にするために、目標は、任意の正確な長さの乗算変更を生成すること
です。長さ 1 の乗算チェーンは自明です。
「乗算チェーン」は、コードで使用される 2 つの数値 {start} と {multiplier} として定義されます。
3 つのパラメーターを使用するルーチン を見つけたいと思い
ます
。
ルーチンは {start} と {multiplier} を返します。
理想的には、0 の {Constant} 値が有効であるべきです。
些細な例:
自明でない例:
与えられた 2 のべき乗の最大 {count} はかなり小さい場合があります。
たとえば、2^4 (16) はカウントが 4 に制限されているようです
c - このプログラムの出力は何ですか?また、OS には何を返しますか?
Cパズルのようなものです。プログラムが実行を終了したかどうか、終了した場合は実行にどれくらいの時間がかかり、OS に何を返すかを知る必要があります。
[編集] インタビューの質問のタグを削除しました。これは人々が反対しているように思われるためです。これはすばらしい小さなパズルですが、誰もがすでに指摘しているように、インタビューの質問としては適切ではありません。
c++ - 三角形の問題
オイラー問題 18 を解決しようとしています -> http://projecteuler.net/index.php?section=problems&id=18
私はこれをC ++でやろうとしています(私はそれを再学習しており、オイラーの問題は優れた学習/検索資料になります)
countNums 関数は、下または斜めに移動するために使用されます。私はこの機能を次のようにテストしました:
そして、それは機能します(関数も少し変更して、通過するすべての番号を出力するようにしました)
しかし、私はまだ正しい結果を得ていません。これは右に下がり、さらに右に進み (右に隣接する数字)、下に下がり、さらに下に進みます (左に隣接する数字)。私はここで何を間違っていますか?
アラステア: 単純だ
long long unsigned countNums(short start_x,short start_y,short array[][15],short size, bool goright,bool goright2);
start_x と start_y は配列の座標です array は配列への参照です size はちょうど配列のサイズです (常に 15 です)私は下に行くか、左に行きます
python - 2 つの D30 の複雑なスローの正確な結果を計算する
さて、これは数年間私を悩ませました。学校で統計学や高等数学に夢中になっている場合は、今すぐやめてください。遅すぎる。
わかった。深呼吸する。ルールは次のとおりです。2 つの30 面ダイス (はい、存在します) を取り、同時に転がします。
- 2 つの数字を足す
- 両方のサイコロが 5 以下または 26 以上の場合は、もう一度投げてその結果を自分の持っているものに追加します。
- 1 つが <= 5 で、もう 1 つが >= 26 の場合は、もう一度投げて、その結果を自分の持っているものから引きます。
- どちらかが > 5 かつ < 26 になるまで繰り返します!
いくつかのコードを記述し (以下を参照)、それらのサイコロを数百万回転がし、最終結果として各数字を受け取る頻度を数えると、1 の左側でかなり平坦な曲線が得られます。1 と 1 の間は約 45° です。 60 以上でフラット。30.5 以上になる確率は 50% 以上、18 以上になる確率は 80%、0 以上になる確率は 97% です。
ここで質問です:正確な値 f(x)、つまり特定の値をロールする確率を計算するプログラムを書くことは可能ですか?
背景: ロールプレイング ゲーム「Jungle of Stars」では、ランダムなイベントを抑える方法を探しました。上記のルールは、あなたが試みる何かに対してより安定した結果を保証します:)
オタク向けの Python のコードは次のとおりです。
algorithm - 隣接する単語間の一般的な文字を最大化するための辞書の注文
これは、私の以前の質問をより具体的で簡単に表現できるようにすることを目的としています。
一般的な文字の長さの辞書から単語のリストを取得します。
このリストを並べ替えて、隣接する単語間でできるだけ多くの文字を共通に保つにはどうすればよいですか?
例1:
例2:
最も単純なアルゴリズムは次のように思われます。何かを選択してから、最短距離を検索しますか?
ただし、DEVI-> KALI(1コモン)はDEVI-> SHRI(1コモン)と同等です
。最初の一致を選択すると、リスト全体で共通ペアが少なくなります(4対5)。
これは、完全なTSPよりも単純なはずですか?
language-agnostic - テキスト内の単語の自動スペル チェック
[編集] 要するに: どのように自動スペル チェッカーを書きますか? これは、チェッカーが既知の適切な情報源 (辞書) から単語のリストを作成し、十分に頻繁に使用される新しい単語を自動的に追加するというものです。しばらく使われていない言葉は、段階的に廃止されるべきです。そのため、"Mungrohyperofier" を含むシーンの一部を削除すると、チェッカーはしばらくそれを記憶し、別のシーンで "Mung<Ctrl+Space>" と入力すると、再び提供されるはずです。私がその言葉を数日間使わなければ、忘れてしまうはずです。
同時に、辞書にタイプミスを追加することは避けたい.[/EDIT]
SF ストーリー用のテキスト エディターを書きたいと思っています。エディターは、現在のストーリーのどこかで使用されている単語の単語補完を提供する必要があります。編集用にストーリーの 1 つのシーンのみを提供します (そのため、シーンを簡単に移動できます)。
これは、次の 3 つのセットがあることを意味します。
- 他のすべてのシーンのすべての単語のセット
- 編集を開始する前の現在のシーンの単語のセット
- 現在のエディタ内の単語のセット
毎回最初からリストを作成するにはコストがかかりすぎるため、セットをどこかに保存する必要があります。そのためには、1行に1語の単純なプレーンテキストファイルで十分だと思います。
ユーザーがシーンを編集すると、次のような状況になります。
- 彼女は単語を削除します。この単語は、現在のシーンの他の場所では使用されていません。
- 彼女は新しい単語をタイプする
- 彼女はすでに存在する単語を入力します
- 彼女はすでに存在する単語を入力するが、タイプミスをする
- 彼女はセット #2 にある単語のタイプミスを修正します。
- 彼女はセット #1 にある単語のタイプミスを修正します (つまり、タイプミスは他の場所にもあります)。
- 彼女は、もう一度使う予定の単語を削除します。ただし、削除後、その単語はセット #1 と #3 にはありません。
明らかな戦略は、シーンを保存するときに単語セットを再構築し、シーンごとの単語リスト ファイルからセット #1 を構築することです。
私の質問は次のとおりです。もはやどこでも使用されていないが、タイプミスを段階的に減らすことができる単語を保持するための巧妙な戦略はありますか? 可能であれば、この戦略は、ユーザーが何が起こっているかに気付かずにバックグラウンドで機能する必要があります (つまり、マウスをつかんでメニューから「単語を辞書に追加」を選択する必要がないようにしたい)。
[編集]悲しみからのコメントに基づく