タグ付けされた質問 「multi-threading」

30
1分待つ– 10秒以内に
仕事 あらゆるタイプの並列化を使用して、少なくとも1分間(ただし1分半未満)の合計スリープ時間まで、複数の期間待機します。 プログラム/関数は、10秒以内に終了し、2つの値(すべての手段および形式)を返す必要があります。合計経過時間と実行された合計スリープ時間です。両方の時間値には、少なくとも0.1秒の精度が必要です。 これは工数の概念に似ています。60時間かかるジョブは、10人の作業者がジョブを分割している場合、わずか6時間で完了できます。ここでは、たとえば10個の並列スレッドで60秒のスリープ時間を設定できるため、ジョブ全体を完了するのに6秒しか必要ありません。 例 プログラムMyProgramは14個のスレッドを作成し、各スレッドは5秒間スリープします。 MyProgram → [5.016,70.105] 実行時間は5秒を超え、総スリープ時間はオーバーヘッドのために70秒を超えます。

22
文字列を爆発させる
任意の文字列を指定して、テキストが各対角線に沿って上下に移動する三角形の形式で印刷します。たとえば、の入力は次"Hello World"を出力する必要があります。 d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l o W r …

19
敵対的な除数
正の整数の除数の中には、実際に互いに嫌いなものがあり、1つ以上の一般的な数字を共有することを好みません。 これらの整数は、敵対的除数(HDN) と呼ばれます 例 数値に9566は4除数があります1, 2, 4783 and 9566 (ご覧のとおり、同じ数字を共有するものはありません)。 したがって、9566はH ostile Dです。 ivisor Nアンバー 番号9567はHDNではありません除数(1, 3, 9, 1063, 3189, 9567)はいくつかの一般的な数字を共有するため、。 ここに最初のいくつかのHDNがあります 1,2,3,4,5,6,7,8,9,23,27,29,37,43,47,49,53,59,67,73,79,83,86,87,89,97,223,227,229,233,239,257,263,267,269,277,283,293,307,337... 仕事 上記のリストに続き、あなたの仕事はn番目の HDNを見つけることです 入力 正の整数nから1の4000 出力 nth HDN テストケース 以下に1インデックス付きのテストケースを示します。 混乱を避けるために、回答で使用するインデックスシステムを明記してください。 input -> output 1 1 10 23 101 853 1012 26053 3098 66686 4000 85009 これはcode-golfであるため、バイト単位の最低スコアが優先されます。 …

15
g l f a t a n 2
時には、デカルト座標(x,y)を極座標に変換するのは本当に大変です(r,phi)。r = sqrt(x^2+y^2)非常に簡単に計算できますが、角度を計算する際にケースの区別が必要になることがよくあります。phiこれarcsinはarccos、arctanおよび他のすべての三角関数が、それぞれが円の半分のみに広がる共領域を持つためです。 多くの言語には、直交座標を極座標に変換するための組み込みatan2機能があります。または、少なくとも(x,y)角度を計算する関数がありますphi。 仕事 あなたのタスクは、2つ(浮動小数点、両方ではないゼロ)デカルト座標を取るプログラム/関数を記述することで(x,y)、対応する極角出力するphi、phiと(度、ラジアン、またはグレードでなければならないグレード Iは、平均グラジアン 1であります/ 400の完全な円)、あなたにとってより便利な方。 角度は正の方向で測定され、の角度はゼロです(1,0)。 詳細 あなたは、角度計算ビルトインを使用することはできませんphiを含む2点の座標、与えられたatan2、rect2polar、argOfComplexNumberおよび同様の機能を。ただし、通常の三角関数とその逆関数を使用できます。これらの関数は1つの引数のみを取ります。単位記号はオプションです。 半径はr非負でなければならない、とphiの範囲でなければなりません[-360°, 360°](それはあなたの出力かどうかは関係ありません270°か-90°)。 例 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

4
OSスレッドスケジューラに起因する非決定性を公開する
誰もが知っているように、最新のオペレーティングシステムにはスレッドスケジューラがあり、コードが機密ではない内部ロジックに基づいてスレッドをスケジュールするためにさまざまな順序を選択できます。通常は、マルチスレッドコードを設計して、この非決定論が出力に意味のある影響を与えないようにします。 ここでの目標は反対です。[0,99]の間隔で整数を出力しますが、OSスレッドスケジューラにより実行ごとに異なる順序でプログラムを生成します。 次のように定義される「十分な非決定性」を達成する必要があります。 10試行の10の連続セットでは、プログラムは各試行内で少なくとも9の一意の順列を生成する必要があります。連続する10回の試行のいずれかの側で、成功する試行の失敗したセットが妥当な数になる可能性があります。 または、別の言い方をすると、プログラムの100回の実行が必要です。10回の実行の各ブロックには、同じものを出力する最大2回の実行があります。 したがって、98と99を時々入れ替えても、うまくいきません。 これはcode-golfなので、使用するバイト数が最も少ない答えが優先されます。 細目 出力をstdoutに書き込みます(1行に1エントリ) 2つのスレッドにstdoutへの文字書き込みをインターリーブさせて(たまに)、3桁の数字や空の行などの結果が生じる場合、結果は無効です。 上記のルールの唯一の例外は、最後に必要な数を出力した後、空の行を1行発行することです(どういたしまして) 必要な値を見逃したり複製したりすると、結果は無効になります プログラムは、シングルコアプロセッサで非決定的である必要はありません(ただし、そうである場合は称賛されます)。 プログラムは、チャレンジの他の要件を満たし、スレッドシステムが言語または言語の標準ライブラリの一部である場合に限り、OSカーネルによって実際には管理されていない緑色のスレッド/ファイバーを使用できます。 プログラムのランタイムは、最新のプロセッサで5秒未満である必要があります。 待機や設定変更など、プログラムの外部で発生する環境の変更を指定することはできません。プログラムは、100回連続して実行するか、各実行の間に1時間を置いて実行するか、並列に100回実行するかに合格する必要があります(これはおそらく実際に役立ちます...) GPUやXeon Phiなどのコプロセッサーと、タスク用の独自の内部スケジューリングメカニズムを使用できます。ルールは、グリーンスレッドに適用されるのと同じ方法でこれに適用されます。 この投稿で指定されたルールに従っている限り、あらゆる種類のスリープ、イールド、その他のトリックでスケジューラを自由に挑発してください。 禁止されている操作 非決定論の唯一の原因は、スケジューラーがスレッドの実行をスケジュールするときです。次のリストは完全ではなく、非決定論の他のソースを認めているために許可されていないことの例を提供することのみを目的としています。 任意の種類のPRNGまたはハードウェアRNG機能に直接または間接的にアクセスする(スケジューラーの固有の部分としての場合を除く)。 あらゆる種類の入力(システム時間、ファイルシステム、ネットワークなど)の読み取り スレッドIDまたはプロセスIDの読み取り OSスケジューラのカスタマイズ。メインストリームOSの標準OSスケジューラを使用する必要があります グリーンスレッド/ファイバースケジューラのカスタマイズも禁止されています。つまり、この課題に対応する言語を作成する場合、OSスレッドを使用する必要があります。 回答の検証 できれば答えはすべての一般的なOSと最新のプロセッサで機能し、サポートの幅に比例して賞賛が与えられます。ただし、これは課題の要件ではありません。少なくとも、回答は1つの最新のSMPプロセッサと最新のOSをサポートする必要があります。ハードウェアの可用性の範囲で主要な回答をテストします。 入力がWindows 10 v1607 x64を実行しているi7 5960xで必要な出力を生成しない場合は、必要な環境を指定します VMWare Workstationで簡単に再現できるものであれば、正確なOSとVMの仕様を提供してください これらの条件のいずれかで作成できない場合は、ヘッダーセクションで説明されているように、テストの同時画面キャプチャと、マウスとキーボードの操作(または非標準の計算による制御スキーム)による画面のハンドヘルドビデオ録画を記録します。デバイスの使用)両方の動画を明確に表示し、回答と一緒に投稿し、それが機能する理由の説明を含める または、一致するハードウェアを使用して信頼できる長年のユーザー(あなたではない)に結果を再現し、保証します エントリがエキゾチックなプログラミング言語であり、一般的な開発者がコンパイル/ jit /解釈するように設定されていない場合は、設定手順を提供します エントリーがJVM / Pythonインタープリター/その他の特定のバージョンに依存している場合は、どれを指定するか 私のテストで10回の連続した一連の試行が成功するまでに10分以上かかる場合、失敗します(特に、上限に近い場合は、成功条件が異常な発生にならないようにしてください)ランタイムバインド)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.