タグ付けされた質問 「math」

課題には数学が含まれます。また、より具体的なタグの使用を検討してください:[数値] [数値理論] [算術] [組み合わせ] [グラフ理論] [形状] [抽象代数]。

23
セットで自然数を構成する
この構造は、自然数を表す方法です。 この表現では、0は空のセットとして定義され、他のすべての数値では、nは{0}と{n-1}の結合です。 たとえば、3を構成するには、アルゴリズムに従うことができます。 3 = {ø, 2} = {ø, {ø, 1}} = {ø, {ø, {ø}}} 仕事 ご想像のとおり、タスクは自然数(ゼロを含む)を取り込み、その構造を出力することです。 選択した言語がそのようなオブジェクトをサポートしている場合は、文字列またはセットオブジェクトとして出力できます。 文字列として出力することを選択した場合、中括弧({})でセットを表す必要があります。オプションで、空のセットをとして表すことができますø(そうでない場合は、エントリのないセットである必要があります{})。また、セットのエントリの前後にコンマと空白を追加することもできます。 順序は重要ではありませんが、出力するセットに繰り返し要素がない場合があります(例{ø,ø}) これはコードゴルフですので、目標はバイト数を最小限にすることです テストケース 次に、いくつかの出力例を含むいくつかのテストケースを示します。 0 -> {} 1 -> {{}} 2 -> {{}{{}}} 3 -> {{}{{}{{}}}} 4 -> {{}{{}{{}{{}}}}}

8
ユークリッドアルゴリズムを視覚化する
ユークリッドアルゴリズムは、2つの正の整数の最大公約数(GCD)を計算するための広く知られているアルゴリズムです。 アルゴリズム この課題のために、アルゴリズムは次のように説明されています。 2つの入力を特定の文字の隣接する行として表示します。 たとえば、の入力は3,4隣接する行で表すことができ000、0000 最初に電源を入れlength(short_line)、別の文字に長い行の文字を言う- 、今それがどのように見える000し、---0 length(short_line)長い行の最初の文字を削除します。 今000、0 2までの手順を繰り返し2と3は、各反復の後に短いと長い行を使用して、同じ長さを持って、例えば 000、0 -00、0 00、0 -0、0 0、0 ここで停止するか、反復を続行して、行の1つを空の行にするかを選択できます。 これらの各ステップは、0.3秒から1.5秒の間隔で区切る必要があります。 チャレンジ 2つの自然数を入力として与え、上記のアルゴリズムの出力とまったく同じように見える出力を作成するプログラムを作成します。以外の空白以外の印刷可能なASCII文字を使用できますが、一貫性が0あり-、2文字のみを使用します。タイミングを含む出力が上記のアルゴリズムで生成されるものとまったく同じであれば、代替アルゴリズムを使用することもできます。 例 これは、24,35GCDが1であるため互いに素であるinputの例です。 これは、16,42GCD 2を持つinputの例です。 ルール これはコードゴルフなので、最短バイトが勝ちます 標準的な抜け穴が適用されます 入力は正の10進整数であると想定できます sed、Retina、///などを使用している場合を除き、その場合は単項を使用できます 明確化 番号を表す線は元の順序のままである必要があります。つまり、最初に表示される「フレーム」の最初と2番目の行は、後続のすべてのフレームでそれぞれ最初と2番目の行である必要があります。 アルゴリズムの終了後、追加の可視エンティティは表示されません。ただし、これは、最後の「フレーム」が他のすべてのフレームと同じ時間だけ表示されていることを確認してから空白にする前に、行を空白にしてもよいことを意味します。

11
逆Pi関数
Pi関数は、実数(または複素数)の階乗の拡張です。整数nの場合、Π(n)= n!、しかし実数の定義を得るには、積分を使用して定義します: この課題では、Π関数を反転します。 実数を考えるとZ≥1 、正見つけます XはそのようなことをΠ(x)= Z。回答は、少なくとも5桁の10進数で正確でなければなりません。 例: 120 -> 5.0000 10 -> 3.39008 3.14 -> 2.44815 2017 -> 6.53847 1.5 -> 1.66277
17 code-golf  math 

15
オイラー数を計算する
オイラー数 A(n, m)の順列の数であり、[1, 2, ..., n]正確にここでm要素が前の要素よりも大きいです。これらはライズとも呼ばれます。たとえば、の場合n = 3、3!= 6個の順列[1, 2, 3] 1 2 3 < < 2 elements are greater than the previous 1 3 2 < > 1 ... 2 1 3 > < 1 ... 2 3 1 < > 1 ... 3 1 2 > < 1 …

13
逆順列インデックス
前書き リストの辞書式の順列n個の要素は、0から番号を付けることができ、N!-1.たとえば、3!= 6個の順列が(1,2,3)あろう(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。 順列がリストに適用されると、その要素は順列の数字と同じ順序で並べられます。たとえば、yieldsに順列(2,3,1)を適用しl = (a,b,c)ます(l[2],l[3],l[1]) = (b,c,a)。 順列の逆は、この操作を逆にする順列として定義されます。つまり、順列を適用し、その逆(またはその逆)は配列を変更しません。たとえば、yの逆(2,3,1)は(3,1,2)、(b,c,a)yieldsに適用されるため(a,b,c)です。 また、順列自体に適用される順列の逆は、整数1… nを生成します。たとえば、yields に適用(3,1,2)し(2,3,1)ます(1,2,3)。 私たちは今、関数定義revind(Xをインデックスと順列の逆置換の指標として)のx。(興味がある場合、これはA056019です。) インデックスの順列ので、私は唯一の最後の変更のkリストの項目を場合に限っ 0≤ I < K!、我々は影響を与えずに、リストの先頭に任意の数の要素を追加することができますrevind(Iを)。したがって、リストの長さは結果に影響しません。 チャレンジ あなたのタスクはrevind(x)を実装することです。入力/引数として単一の非負整数xを取り、結果を単一の非負整数として出力/返す完全なプログラムまたは関数を作成します。 入力および出力は0インデックスまたは1インデックスの場合がありますが、これはそれらの間で一貫している必要があります。 インデックスによって順列を生成する、順列のインデックスを返す、または逆順列を見つける組み込み関数は禁止されています。(すべての順列または次の順列を生成するビルトインが許可されます。) 標準のコードゴルフ規則が適用されます。 例 以下の例は0から始まります。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 3628 2000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

8
Copeland–Erdőの定数内の数値を見つける
バックグラウンド コープランド-エルデシュ定数は「0」を連結したものです 順番に素数の10を基数とした表現。その値は 0.23571113171923293137414... OEIS A033308も参照してください。 CopelandとErdősは、これが通常の数値であることを証明しました。これは、すべての自然数がコープランド・エルド定数の10進数展開のある時点で見つかることを意味します。 チャレンジ 正の整数を指定して、10を基数(先行ゼロなし)で表し、Copeland–Erdの定数の10進数のシーケンス内で最初に出現するインデックスを出力します。 合理的な入力および出力形式はすべて使用できますが、入力および出力は10を基数にする必要があります。特に、入力は文字列として読み取ることができます。そして、その場合、先行ゼロを含まないと見なすことができます。 出力は、定数の最初の10進数から始まる0ベースまたは1ベースです。 実際の結果は、データの種類、メモリ、または計算能力によって制限される場合があります。そのため、テストケースによってはプログラムが失敗する場合があります。だが: どんな入力に対しても理論的に機能するはずです(つまり、これらの制限を考慮しない)。 少なくとも最初の4つのケースで実際に機能し、それぞれのケースで結果が1分以内に生成されるはずです。 テストケース ここでは、出力は1から始まります。 13 --> 7 # Any prime is of course easy to find 997 --> 44 # ... and seems to always appear at a position less than itself 999 --> 1013 # Of course …

16
ナラヤナ-ジデック-カペル数
入力nを指定して、n番目のNarayana-Zidek-Capell数を生成します。少ないバイトが勝ちます。 f(1)= 1、f(n)は前のfloor(n / 2)ナラヤナ-ジデック-カペル項の合計です。 テストケース: f(1)=1 f(9)=42 f(14)=1308 f(15)=2605 f(23)=664299

12
シャミールの秘密の共有
与えられたn(プレイヤーの数)、 t(しきい値)、およびs(秘密)、出力nによって生成された秘密シャミール秘密分散アルゴリズム。 アルゴリズム このチャレンジの目的のために、計算はGF(251)(sizeの有限体251、または整数mod 251として知られる)で行われます。通常、フィールドは、サイズがより大きい素数になるように選択されnます。課題を簡素化するために、フィールドサイズは一定になります。251これは、8ビットの符号なし整数で表現できる最大の素数であるため選択されました。 t-1(包括的)範囲でランダムな整数を生成します[0, 250]。これらのラベル1を通過T-1 。 構築t-1用い番目の多項式をsのパワーの係数として工程1からの一定値とランダムな整数としてx:F(X)= S + X * 1 + X 2 * 2 + ... + X T- 1 * a t-1。 (包括的)範囲内の(f(z) mod 251)それぞれの出力。z[1, n] 参照実装 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

4
実際に整数のメタゴルフ
バックグラウンド 実際(Seriouslyの後継)は、2015年11月に作成したスタックベースの命令型ゴルフ言語です。他の多くのゴルフ言語と同様に、スタックの内容に基づいて異なる機能を実行する1バイトのコマンドがあります。その専門の1つは数学です-多種多様な数学ベースのコマンドがあります。ただし、数学演算を実行するには、スタックに(1つ以上の)数値を配置する必要があります。多くの異なるオプションがあるため、特定の値をできるだけ少ないバイト数でプッシュすることは困難です。この課題では、実際にできる限り少ないバイトで数値(具体的には整数)を表すことを正確に行います。 チャレンジ N入力として整数を指定するNと、スタックにプッシュされる結果となる有効な実際のコードを出力します。 入力は、32ビットの符号付き2の補数整数の範囲内にあります(つまり、包括的範囲の整数[-2147483648, 2147483647])。 結果は整数(float、string、list、またはfunctionではなく)でなければならず、スタックの先頭になければなりません。 スタックの内容について何も仮定しないでください(空かどうかなど)。スタック上の既存の値を変更または再配置してはなりません。 このチャレンジを書いている時点でのActuallyの最新のコミットが使用されることになっています。バグ修正またはパフォーマンスの強化(または許可されたコマンドの機能を削除または変更しないその他の小さな変更)を行った場合、このバージョンを更新します。 ソリューションは、少なくとも単純なソリューション(:数値リテラルを作成するために入力に追加)と同様に実行する必要があります。 スコアは、簡単な解の長さの合計から、スコアリングに使用される1000個の32ビット符号付き2の補数整数の選択の出力の長さの合計を引いたものになります。必要に応じて、スコアリング整数をいつでも変更する権利を留保します(テストケースの最適化や、テストケースの徹底が不十分な場合など)。 ソリューションは、入力ごとに30秒以内に有効な回答を出力する必要があります。タイミングは、標準の無料のCloud9ワークスペースで行われます。 コマンド 簡単にするために、(現在の)208個のコマンドのうち141個のみを使用でき、数値計算とは関係のない141個の多くのオーバーロードが削除されています。許可されるコマンドのリストは次のとおりです(形式は<hex code> (<symbol>): <descriptions of functions based on stack values and types>次のとおりです。 0B (♂): take the next command and map it over the top of the stack (for example, ♂A is equivalent to `A`M) 1F (▼): pop …

7
異なるベースの素数
チャレンジ: 基数10の数字が与えられます。10から2までのカウントダウンの各ベースに対して: 元の入力番号を基数10の文字列として取得し、基数に対して無効な数字の数字を削除します。 そのベースの結果の数値文字列を解釈します。これにより1または0が得られた場合、プロセス全体を終了します。 最大の素因数を10進数として出力または印刷します。 出力は、最大の素因数の配列にすることができます。 サンプルケース: 入力: 987654321 出力: 379721 10593529 1091 179 1493 293 19 7 代わりに: [379721,10593529,1091,179,1493,293,19,7] これは、987654321の最大素因数を印刷87654321 9 = 42374116 10、7654321 8 = 2054353 10、及びそれが1に達するまでに2止まります。

11
ABACABA都市を作成する
これが3番目のABACABA市です。 _ A|_| B|__| A|_|_ C|___| A|_| B|__| A|_| ABACABAシーケンスから作成され、基本的には次のとおりです。 A(1回目の反復) 場所B-AB A-ABAを繰り返します(2回目の反復) 場所C-ABAC ABAの繰り返し-ABACABA(3回目の反復) そしてあなたはアイデアを得る。 建物の高さ(下線の数で対応)は、A = 1、B = 2などの数字に変換された文字と同じです。 入力 繰り返し数1 <= n <= 26。 出力 行の先頭の文字を含む、順序nのABACABA市。

1
交差点での排他的エリアの検索
これは一見難しい挑戦的なジオメトリパズルです。 円与えられA、及びn他の円B[n]内に含まれる全面積見つけるAではない任意の円内をB。 コードはできるだけ短くする必要があります。 入力 入力には次の情報が含まれている必要があります。 circleの半径を表す浮動小数点数A。 の円の半径を表す浮動小数点数のリストB。 の円の中心のリストB。プログラムでは、極座標またはデカルト座標のいずれかの中心を想定している場合があります。 オプションで、nBの円の数を受け取ることができます。この入力は必須ではありません。 円の中心がA原点、つまり点であると想定され(0, 0)ます。 の2つの円Bが同一ではないことが保証されますが、すべてのB交差する円A、すべての中心Bが外側A、または2つの円がB互いに交差しないことは保証されません。ソリューションがさまざまなエッジケースを処理できることを確認します。 入力は任意の順序で、テキスト入力(stdinまたは同等の言語を介して)、関数パラメーター、またはコマンドライン引数の形式で受け取ることができます。 テキスト入力の受信を選択した場合、入力の間に1文字または2文字の印刷可能なASCII区切り文字が必要です。 出力 プログラムまたは関数Aは、の円のいずれにも属さない総面積を表す単一の浮動小数点数を出力する必要がありますB。回答は、すべてのテストケースで少なくとも3つの有効数字に対して正確でなければなりません。 一般的なコードゴルフ規則が適用されます。 ソリューションは、円内のサンプリングポイントに依存して領域を決定しないでください。 円の交差点を自動的に見つける、円の交差点内の領域を見つける、またはこの問題をすぐに解決する組み込み機能は許可されていません。 テストケース 各画像で、円のA輪郭は青で、円のB輪郭は緑、黒で塗りつぶされています。返されるべき領域は赤で塗りつぶされています。 (私のソリューションをチェックしてくれたRainer Pに感謝します) テストケース1: A = {x: 0, y: 0, rad: 50} B[0] = {x: 0, y: 0, rad: 100} Result: 0.00 テストケース2: A = {x: 0, y: 0, rad: …

8
連結されたシーケンスを並べ替える
f(n) = f(n-1)+f(n-2)で始まる再帰関係に基づくシーケンスを考えf(1) = x1, f(2) = x2ます。の場合x1 = 2, x2 = 1、シーケンスは次のように始まります。 2 1 3 4 7 11 18 29 47 76 123 199 322 521 843 これを文字列に連結すると、次のようになります。 213471118294776123199322521843 ここで、このリストをを与える最小の数に分割しますy(n) > y(n-1)。最初の番号から始めて、2番目の番号から始めます。最初の出力番号は常に1桁でなければなりません。最後の数字に必要な数のゼロを埋め込みます。 2 13 47 111 829 4776 12319 93225 218430 (x1, x2)任意の便利な形式で、入力として2つの数値を取得します。課題は、ソートされたリストを出力することです。 ルール: 機能とプログラムはOK 初期シーケンスには、正確に15個の数字が必要です(最後の数字はf(15))。 x1そして、x2負ではありません(ゼロも可能です)。 出力は任意の便利な形式にすることができます 出力ベクトルyは、次のように作成する必要がありますy2 …

3
アーベル注文
いくつかの背景 数学では、グループは、タプル(あるG、•)Gがセットされ、•上の操作であるG任意の二つの要素になるようにX及びYにおけるG、X • yは、でもあるGは。 いくつかのために、X、Y、ZにおけるG次のように、塩基性基公理です。 Gは•の下で閉じられます。つまり、Gのx • y 演算は連想的です。つまり、x •(y • z)=(x • y)• z Gには恒等要素があります。つまり、すべてのx に対してx • e = xとなるようにGにeが存在します 演算は反転可能です。つまり、Gにはa • bが存在し、a • x = yおよびy • b = xとなる さて、それらはグループです。ここで、Abelianグループをグループ(G、•)として定義し、そのようにして•は可換演算です。つまり、x • y = y • xです。 最後の定義。グループの順序(G、•)。G |は、セットGの要素数です。 仕事 アーベルの次数は整数nであるため、次数nのすべてのグループはアーベルです。アーベルの注文の順序は、OEISのA051532です。あなたの仕事は、整数nが与えられると、このシーケンスのn番目の項(1-indexed)を生成することです。何もオーバーフローしないように、最大​​整数までの入力をサポートする必要があります。 入力は、関数の引数、コマンドラインの引数、STDIN、または便利なものから取得できます。 出力は、関数から返されるか、STDOUTに出力されるか、便利なものであれば何でも可能です。STDERRには何も書き込まないでください。 スコアはバイト数で、最短の勝ちです。 例 シーケンスの最初の25項は次のとおりです。 1, 2, …

6
N次元ベクトルの列挙
正の整数k > 1と非負の整数iを指定すると、非負の整数の- kタプル(または- k次元ベクトル)を生成します。すべてのためにk、ℕのにℕからマップkは、全単射でなければなりません。つまり、すべての入力iは異なるタプルを生成する必要があり、可能なタプルはすべてinputによって生成される必要がありますi。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 出力には、便利で明確なフラットリスト形式を使用できます。 あなたのソリューションは、上の人工的な制限を課すべきではないkとiはできますが、彼らはあなたの言語のネイティブ整数のサイズに収まることを仮定してもよいです。少なくとも、最大の値をサポートする必要があり255ますが、ネイティブの整数サイズでさえそれより小さくなります。 いずれかのために1 < k < 32、(あなたの答えはサポートされていない場合は、もちろん、あなたのコードは、ほんの数秒で結果を生成する必要があり、以前のルールによる大規模な、制限が相応に調整されていること)。これは何の問題もないはずです。それは、そのようなことは2まで働くことは、この課題を解決することが可能です128数秒ではなく、制限は実際の反復を避け回答にありへの結果を見つけること。i < 231i0i 選択したマッピングの説明と、それが全単射である理由の正当性を回答に含めてください(これは正式な証明である必要はありません)。 これはコードゴルフで、最短の回答(バイト単位)が勝ちです。 関連する課題 非負のものから整数のペアを生成します すべての有理数のリストを出力します

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