タグ付けされた質問 「probability-theory」

確率変数と確率過程の確率を計算することを含む課題。

3
コンピューター:あなたは数学をする
この課題は、一部はアルゴリズムの課題であり、いくつかの数学が関与し、一部は単に最速のコードの課題です。 何らかの正の整数のために、長さのsとs のn一様にランダムなストリングを考えて、それを呼び出してください。また、値がまたはである2番目の一様に選ばれた長さのランダムストリングを考えて、それを呼び出してください。今聞かせても+ 。それはそれ自体に連結されます。10nAn-10,1B_preBB_preB_preB_pre 今の内積を考えるAとB[j,...,j+n-1]、それを呼び出すZ_jから、インデックスを1。 仕事 出力は、n+1分数のリストである必要があります。i出力のth番目の項は、すべての最初の項が等しいという正確な確率でなければなりません。iZ_jj <= i0 スコア n私のマシンでは、コードが10分以内に正しい出力を提供する最大のもの。 タイ・ブレーカー 2つの回答のスコアが同じ場合、最初に提出された方が勝ちです。 誰かが無制限のスコアを取得する方法を見つけるという(非常に)まれなイベントでは、そのようなソリューションの最初の有効な証拠が受け入れられます。 ヒント この問題を数学的に解決しようとしないでください。難しすぎます。私の考えでは、高校からの確率の基本的な定義に戻って、可能性を徹底的に列挙するコードを取得するスマートな方法を見つけることが最善の方法です。 言語とライブラリ 自由に利用できるコンパイラ/インタープリター/などを備えた任意の言語を使用できます。LinuxおよびLinuxでも自由に利用できるライブラリ用。 私のマシン タイミングは私のマシンで実行されます。これは、AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。結果として、簡単に入手できる無料のソフトウェアのみを使用し、コードをコンパイルして実行する方法の完全な指示を含めてください。 いくつかのテスト出力。それぞれの最初の出力だけを考えてくださいn。そのときi=1です。以下のためにn1から13まで、彼らはする必要があります。 1: 4/6 2: 18/36 3: 88/216 4: 454/1296 5: 2424/7776 6: 13236/46656 7: 73392/279936 8: 411462/1679616 9: 2325976/10077696 10: 13233628/60466176 11: 75682512/362797056 12: 434662684/2176782336 13: 2505229744/13060694016 あなたはまたのための一般的な式を見つけることができるi=1でhttp://oeis.org/A081671。 …

3
一般化された誕生日の問題
今夜、婚約者は私の誕生日を祝うために夕食に連れて行ってくれました。外出中、50人でいっぱいのレストランで5人のゲスト(私を含む)にハッピーバースデーが歌われるのを聞きました。これは私に不思議に思いました-元の誕生日の問題(人の部屋にいる2人がN同じ誕生日を共有する確率を見つける)は非常に単純で簡単です。しかし、少なくともk人のうちN、同じ誕生日を共有する確率を計算するのはどうでしょうか? ご参考までに、合計50人のうち少なくとも5人が同じ誕生日を共有する確率は、約1/10000です。 チャレンジ 2つの整数Nとが与えられた場合k、ここでN >= k > 0、少なくともkグループのN人々が同じ誕生日を共有する確率を出力します。物事を単純にするために、365の誕生日が常に存在し、すべての日が平等であると仮定します。 以下のためにk = 2、これはオリジナルの誕生日の問題に帰着し、確率である1 - P(365, N)/(365)**N(ここP(n,k)でn個の要素から形成されたk長順列の数)。の値が大きい場合k、このWolfram MathWorldの記事は役に立つかもしれません。 ルール 出力は決定的であり、選択した言語に対して可能な限り正確でなければなりません。これは、モンテカルロ推定またはポアソン近似がないことを意味します。 Nそしてk、あなたの選択した言語で表現可能な最大の整数を超えないようにします。選択した言語に整数の厳密な最大値がない場合(メモリの制約を除く)、Nおよびkは任意に大きくなる可能性があります。 浮動小数点の不正確さに起因する精度エラーは無視される場合があります-ソリューションは完全に正確な無限精度のフロートを想定する必要があります。 テストケース フォーマット: k, N -> exact fraction (float approximation) 2, 4 -> 795341/48627125 (0.016355912466550306) 2, 10 -> 2689423743942044098153/22996713557917153515625 (0.11694817771107766) 2, 23 -> 38093904702297390785243708291056390518886454060947061/75091883268515350125426207425223147563269805908203125 (0.5072972343239854) 3, 3 -> 1/133225 (7.5060987051979735e-06) 3, 15 …

3
ドア賞を受賞する可能性はありますか?
私の地元のACMの章では、会議に参加する人々にドア賞を贈ります。ただし、プログラミングパズルを解くと勝つ可能性が高くなります(ただし、私は常にそのパズルを解きます)。したがって、一部の人には1つのエントリがあり、他の人には2つのエントリがあります。ラッフルプログラムの仕組みは、誰かがパズルを解くときに別のエントリを追加することではありません。代わりに、人が持っている「ライブ」の数を追跡し、その人がランダムサンプリングアルゴリズムの各パスで選択された場合、その人の数を減らします。したがって、次のように機能します。 Doorknob: 1. xnor: 2. Justin: 2. Alex: 1. Dennis: 2. 次に、プログラムはのいずれかをランダムに選択し[Doorknob, xnor, Justin, Alex, Dennis]、数値をデクリメントします(たとえば、選択しますJustin)。 Doorknob: 1. xnor: 2. Justin: 1. Alex: 1. Dennis: 2. そして繰り返します。誰かの「ライブ」の数が0(Justin再度選択しよう)になった場合、リストから削除されます。 Doorknob: 1. xnor: 2. Alex: 1. Dennis: 2. これは、一人が残るまで続きます。その人が勝者です。 さて、本当の問題は、私が勝つ可能性はどのくらいだったのかということです。 次の2つの入力が与えられます。 n。これはチャレンジに参加した人の数です k。これは、n2人の命を持っている(そのうちの)人の数です。この番号には常にあなたが含まれます。 だから、もし私が関数を持っていてpを呼び出したp(10, 5)場合、それは合計10人の人が賞金を獲得する確率になります。 勝つ確率を正確に、または小数として出力することが期待されています。いずれにしても、答えは4を含め、正確にアップしてある必要があります番目の小数点後の小数点以下の場所。その桁に丸めるかどうかはあなた次第です。 あなたのソリューションは、高い確率で小数第 4 位までの回答を出力するランダム化ソリューションかもしれません。使用するビルトインRNGは本当にランダムであり、少なくとも90%の確率で正しい答えを出力する必要があると仮定できます。 さらに、コードはのためにのみ動作する必要がありますがn, k <= 1000、好奇心の強い人向けのテストケースよりも大きなテストケースを提供しました。 …

4
1日のタイムラインの不確実性
ある朝、目覚ましで目覚めたが、スヌーズすると、さらに8分間眠ることができたとします。再び鳴ったら、しぶしぶ起きてシャワーを浴びます。これには15〜17分かかります。その後、正確に2分間歯を磨き、服を着ます。これには約3〜5分かかります。最後に、急いで朝食を6〜8分で食べてドアを使い果たします。 このタイミングシーケンスを次のように示すことができます。 8 15-17 2 3-5 6-8。 あなたの朝のルーチンの不確実性を考えると、あなたが最初に目を覚ましてから特定の分数で各タスクを行っていた確率は何ですか? すべてのタスクに整数分かかると仮定すると、不確実な時間範囲の可能な組み合わせをすべてグラフ化できます(たとえば、歯を磨くのに3、4、5分)。このチャートには、27の可能性がすべて示されています。時間は右に増加し、N分ごとのタスクは(N-1)ダッシュと1つの垂直バーで表され、終了を示すだけです。文字間に微小な境界が生じるため、8との間のスペース9はに8 min 59 sec変わり9 minます。 1111111111222222222233333333334 1234567890123456789012345678901234567890 <-- Minute -------|--------------|-|--|-----| -------|--------------|-|--|------| -------|--------------|-|--|-------| -------|--------------|-|---|-----| -------|--------------|-|---|------| -------|--------------|-|---|-------| -------|--------------|-|----|-----| -------|--------------|-|----|------| -------|--------------|-|----|-------| -------|---------------|-|--|-----| -------|---------------|-|--|------| -------|---------------|-|--|-------| -------|---------------|-|---|-----| -------|---------------|-|---|------| -------|---------------|-|---|-------| -------|---------------|-|----|-----| -------|---------------|-|----|------| -------|---------------|-|----|-------| -------|----------------|-|--|-----| -------|----------------|-|--|------| -------|----------------|-|--|-------| -------|----------------|-|---|-----| -------|----------------|-|---|------| -------|----------------|-|---|-------| -------|----------------|-|----|-----| -------|----------------|-|----|------| -------|----------------|-|----|-------| 1234567891111111111222222222233333333334 <-- Minute 0123456789012345678901234567890 ルーチンが最大で40分、少なくとも34分かかった可能性があることは明らかです。 問題は、特定の瞬間、たとえば29分に、5つのタスクのそれぞれを行っていた可能性はどれくらいかということです。不確実な各時間枠は、正確な分全体に均一に分布していると仮定します。したがって、4〜7のタスクでは、25%の確率で4、5、6、または7分間かかります。 …

15
少なくともn回m回発生する何かの確率
成功確率p、数nおよび試行回数mが与えられると、m回の試行のうち少なくとも n回の成功の可能性を返すプログラムまたは関数を記述します。 回答は、小数点以下5桁以上で正確でなければなりません。 テストケース: 0.1, 10, 100 -> 0.54871 0.2, 10, 100 -> 0.99767 0.5, 13, 20 -> 0.13159 0.5, 4, 4 -> 0.06250 0.45, 50, 100 -> 0.18273 0.4, 50, 100 -> 0.02710 1, 1, 2 -> 1.00000 1, 2, 1 -> 0.00000 0, 0, 1 -> 1.00000 0, …

6
N基底の回文である数
負でない整数が指定された場合n >= 0、x_i >= 3完全にn異なるb基数の回文である整数のシーケンスを永久に出力します2 <= b <= x_i-2。 これは基本的にOEIS A126071の逆で、そのシーケンスのどのインデックスが値を持つかを出力しますn。b = x_i-1, x_i, x_i+1これらのベースの結果は常に同じであるため(値は常にパリンドロームであるか、常にそうでないか)、ベースを無視するように変更したため、少し異なります。また、オフセットが異なります。 x_i>= 3それぞれの結果の最初の項nがA037183になるように、数値に制限されています。 出力形式は柔軟ですが、数値は適切な方法で区切る必要があります。 例: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

11
「i」には「i」の可能性がある
すべての0 <i <14について、i番目の数がi%の確率で発生する乱数ジェネレーターを設計します。0は正確に9%の確率で発生します。ジェネレーターのシードはシステム時間である必要があります。事前定義された関数を乱数生成に使用することはできません。 基本的に、1は1%の確率で発生し、2は2%の確率で発生し、13までは13%の確率で発生します。これはコードゴルフなので、最短のコードが優先されます。

2
確率-どのくらい高くできますか?
以前に確率をすばやく正確に計算する方法について質問しました。しかし、明らかに、閉じた形のソリューションが与えられたので、それはあまりにも簡単でした!これはより難しいバージョンです。 このタスクは、確率を正確かつ迅速に計算するコードを記述することです。出力は、最も縮小された形式で分数として記述された正確な確率でなければなりません。つまり、出力んです4/8けど、むしろ1/2。 いくつかの正の整数の場合n、1と-1の長さの一様にランダムな文字列を検討し、nそれをAと呼びます。次にA、それ自体のコピーに連結します。これはA[1] = A[n+1]、1からインデックスを作成する場合A[2] = A[n+2]などです。 A今長さがあり2nます。ここでn、最初のn値が-1、0、または1であり、確率がそれぞれ1 / 4、1 / 2、1 / 4 である長さの2番目のランダムな文字列についても検討し、Bと呼びます。 今の内積考えるBとA[1+j,...,n+j]異なるためにj =0,1,2,...。 たとえば、を検討してくださいn=3。以下のための可能な値Aとは、B可能性A = [-1,1,1,-1,...]とB=[0,1,-1]。この場合、最初の2つの内積は0および2です。 仕事 それぞれについて、jで始まるj=1コードは、すべての最初のj+1内積がすべてゼロになる確率を出力する必要がありますn=j,...,50。 MartinBüttnerが作成したテーブルをコピーするj=1と、次のサンプル結果が得られます。 n P(n) 1 1/2 2 3/8 3 7/32 4 89/512 5 269/2048 6 903/8192 7 3035/32768 8 169801/2097152 スコア あなたのスコアは、j私のコンピューターでコードが1分で完了する最大のスコアです。少し明確にするために、それぞれjに1分を与えます。前のリンクされた質問の動的プログラミングコードは、これを簡単に実行しj=1ます。 タイ・ブレーカー 2つのエントリが同じjスコアを取得した場合n、私のマシンで1分間で最高のスコアを獲得したエントリが勝者となりますj。2つの最高のエントリがこの基準でも等しい場合、勝者が最初に送信された回答になります。 言語とライブラリ 自由に利用できる言語とライブラリを使用できます。私はあなたのコードを実行できなければならないので、可能であればLinuxでコードを実行/コンパイルする方法の完全な説明を含めてください。 私のマシンタイミングは私のマシンで実行されます。これは、AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。 …

5
確率を正確かつ迅速に計算する
[これは正確に確率を計算するためのパートナーの質問です ] このタスクは、確率を正確かつ迅速に計算するコードを記述することです。出力は、最も縮小された形式で分数として記述された正確な確率でなければなりません。つまり、出力んです4/8けど、むしろ1/2。 いくつかの正の整数についてn、1と-1の長さの一様にランダムな文字列を考え、nそれをAと呼びます。次にA、最初の値に連結します。これはA[1] = A[n+1]、1からのインデックスAが長さを持っている場合 n+1です。ここでn、最初のn値が-1、0、または1であり、確率がそれぞれ1 / 4、1 / 2、1 / 4 である長さの2番目のランダムな文字列についても検討し、Bと呼びます。 今の内積考えるA[1,...,n]とBとの内積をA[2,...,n+1]してB。 たとえば、を検討してくださいn=3。以下のための可能な値Aとは、B可能性A = [-1,1,1,-1]とB=[0,1,-1]。この場合、2つの内積は0および2です。 コードは、両方の内積がゼロである確率を出力する必要があります。 MartinBüttnerが作成したテーブルをコピーすると、次のサンプル結果が得られます。 n P(n) 1 1/2 2 3/8 3 7/32 4 89/512 5 269/2048 6 903/8192 7 3035/32768 8 169801/2097152 言語とライブラリ 自由に利用できる言語とライブラリを使用できます。私はあなたのコードを実行できなければならないので、可能であればLinuxでコードを実行/コンパイルする方法の完全な説明を含めてください。 タスク コードは、先頭がn=1nで、別の行にnが増えるたびに正しい出力を与える必要があります。10秒後に停止します。 スコア スコアはn、コンピューターで実行したときにコードが10秒後に停止する前に到達した最高点です。同点の場合、勝者が最も早く最高スコアに到達する人になります。 エントリの表 n = 64Python。Mitch Schwartzによるバージョン1 n …

20
コイントスの半分の頭が出る確率を計算します。
標準入力から小さな正の偶数の整数を指定して、その多くのコインを反転させると、半分の頭数になる確率を計算するプログラムを記述します。 たとえば、2つのコインが与えられた場合、可能な結果は次のとおりです。 HH HT TH TT ここで、HとTは頭と尾です。コインの数の半分の頭数の2つの結果(HTおよびTH)があります。合計4つの結果があるため、確率は2/4 = 0.5です。 これは見た目より簡単です。 テストケース: 2 -> 0.5 4 -> 0.375 6 -> 0.3125 8 -> 0.2734375

5
3Dでガウス分布をプロットする
確率論では、正規(またはガウス)分布は非常に一般的な連続確率分布です。正規分布は統計上重要であり、自然科学および社会科学では、分布が不明な実数値の確率変数を表すためによく使用されます。 チャレンジ あなたの課題は、3次元平面上にガウス分布の確率密度をプロットすることです。この関数は次のように定義されます。 どこ: A = 1、σ X = σ Y = σ ルール プログラムは、標準偏差である1つの入力σを取る必要があります。 プログラムは、ガウス分布の3Dプロットを、言語/システムで可能な限り最高の品質で印刷する必要があります。 プログラムは、組み込みの直接ガウス分布または確率密度を使用しない場合があります。 プログラムを終了する必要はありません。 プロットは白黒またはカラーの場合があります。 プロットの下部にグリッド線が必要です。(例に示すように)側面のグリッド線は不要です。 プロットでは、グリッドラインの横にライン番号を付ける必要はありません。 得点 code-golfの通常のように、バイト数が最も少ない送信が優先されます!信じられないほど小さくて直感的でない限り、ボタンを使って答えを「受け入れる」ことは決してできません。 出力例 出力は次のようになります。 または、次のようになります。 より 有効な 出力。無効な 出力。

7
pseudoprimesをゴルフしましょう!
はじめに/背景 で、最近の議論で暗号チャット私は議論するために/のヘルプ挑戦されたフェルマー素数判定テストとカーマイケル数を。このテストは、a^(p-1) mod p==1常に素数に当てはまるがp、常にコンポジットには当てはまらないという前提に基づいています。カーマイケル番号は、基本的にはフェルマートのテストで最悪の敵です。取得するために同時に素数にならないように選択aする必要がある番号です。が共素数でない場合、本質的には、自明ではない因子を見つけましたpa^(p-1) mod p!=1apそして、誰もが知っているように、因数分解は非常に難しい場合があります。特に、すべての要素が十分に大きい場合。これで、Fermatテストが実際にはあまり使用されない理由がよくわかります(より優れたアルゴリズムがあります)。これは、(セキュリティの観点から)防御者としてのあなたが同じような量の作業を行わなければならない数があるためです。攻撃者(つまり、数を因数分解します)。 これらの数値が魅力的である理由がわかったので、可能な限り最短の方法で数値を生成します。必要に応じて、生成したコードを記憶することができます。 カーマイケル番号は、OEISではA002997としても知られています。関連する課題はすでに ありますが、サイズではなく速度が最適化されているため、ここからのエントリは競争力がありません。同じ議論が逆の方向にも当てはまり、ここのエントリはサイズを優先して速度とトレードオフをする可能性があります。 仕様 入力 これは標準のシーケンスチャレンジなので、正または負でない整数nを入力として使用します。n必要に応じて、0または1のインデックスを付けることができます(指定してください)。 出力 出力は、必要にn応じて、-番目のカーマイケル番号または最初のnカーマイケル番号のいずれかになります(指示してください)。 仕様 整数xは、xが複合である場合にのみカーマイケル数であり、のすべての整数yについてgcd(x,y)=1、それを保持しy^(x-1) mod x==1ます。 誰が勝ちますか? これはcode-golfなので、バイトで最短のコードが優先されます!標準のIOと抜け穴のルールが適用されます。 テストケース 最初のいくつかのカーマイケル番号は次のとおりです。 561,1105,1729,2465,2821,6601,8911,10585,15841, 29341,41041,46657,52633,62745,63973,75361,101101, 115921,126217,162401,172081,188461,252601,278545, 294409,314821,334153,340561,399001,410041,449065, 488881,512461
9 code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

13
比較チェーンを拡張
ほとんどの言語と異なり、Python a<b<cは数学で行われるように評価し、ブール値a<bをと比較するのではなく、実際には3つの数値を比較しcます。これをC(および他の多くの)で記述する正しい方法は、a<b && b<c。 この課題の課題は、このような任意の長さの比較チェーンをPython /直感的な表現から他の言語でどのように記述するかまで拡張することです。 仕様書 プログラムは演算子を処理する必要があります。 ==, !=, <, >, <=, >=。 入力には、整数のみを使用した比較チェーンがあります。 途中の比較の真実性について心配する必要はありません。これは、純粋に構文解析/構文上の課題です。 入力には、スペースで分割することで解析を簡単にする回答を防ぐための空白はありません。 ただし、出力には、&&' のみ、または比較演算子と&&'の両方のいずれか、または両方を囲む単一のスペースがある場合がありますが、一貫性があります。 テストケース Input Output --------------------------------------------------------------- 3<4<5 3<4 && 4<5 3<4<5<6<7<8<9 3<4 && 4<5 && 5<6 && 6<7 && 7<8 && 8<9 3<5==6<19 3<5 && 5==6 && 6<19 10>=5<7!=20 10>=5 && 5<7 && …
9 code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

30
int入力nを指定して、n * reversed(n)を出力します
整数nを指定して出力n * reversed(n) reversed(n)は、reverseの桁を取得したときに取得する数値ですn。 reverse(512) = 215 reverse(1) = 1 reverse(101) = 101 >>>>>>>> func(5) = 5*5 = 25 func(12) = 12*21 = 252 func(11) = 11*11 = 121 func(659) = 659*956 = 630004 最短のコードが勝ちます! リーダーボード コードスニペットを表示 var QUESTION_ID=144816,OVERRIDE_USER=71625;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var …
9 code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

3
ランダムな直交行列をコードゴルフ
直交行列は、行と列の直交単位ベクトル(すなわち、正規直交ベクトル)は、実際のエントリを有する正方行列です。 これは、M ^ TM = Iであることを意味します。ここで、Iは単位行列であり、^ Tは行列の転置を表します。 これは「特別な直交」ではなく直交であるため、Mの行列式は1または-1になります。 この課題の目的は機械の精度ではないため、M ^ TM = Iの場合、小数点以下4桁以内であれば問題ありません。 タスクは、正の整数を取りn > 1、ランダムな直交n行n列の行列を出力するコードを記述することです。行列は 、n行n列のすべての直交行列からランダムかつ均一に選択する必要があります。この文脈では、「均一」はハール尺度で定義され、自由に選択した直交行列を掛けても分布が変化しないことが基本的に必要です。つまり、行列の値は-1から1の範囲の浮動小数点値になります。 入力と出力は、便利な任意の形式にすることができます。 実行中のコードの明確な例を示してください。 直交行列を作成する既存のライブラリ関数を使用することはできません。このルールは少し微妙なので、詳しく説明します。このルールは、一部の(またはまったくない)入力を取り込み、直交することが保証されている少なくともn行n列のサイズの行列を出力する既存の関数の使用を禁止します。極端な例として、n行n列の単位行列が必要な場合は、自分で作成する必要があります。 任意の標準乱数ジェネレータライブラリを使用して、任意の乱数を選択できます。 コードは、最大で数秒以内に完了するはずですn < 50。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.