プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

28
シンプルなワードラッパーを作成する
(注:これは私の初めてのコードゴルフの質問ですが、私が知る限り、誰もこれを正確に行っていないので、私は良いはずです。) あなたの仕事は、文字列sと整数を取り込んで、n複数の行に折り返されたテキストを返すか出力するプログラムまたは関数を作成することです。各単語は完全に1行である必要があります。つまり、途中で単語が分割されません。各行はn文字より長くすることはできません。また、各行にできるだけ多くの単語を収める必要があります。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

23
最小電力ルート
数の最小電力反復は、次のように定義されます。nnn MPI(n):=nmin(digits(n))MPI(n):=n分(桁(n))\text{MPI}(n):=n^{\text{min}(\text{digits}(n))} つまり、の最下位桁に上げ。たとえば、およびです。nnnnnnMPI(32)=322=1024MPI(32)=322=1024\text{MPI}(32)=32^2=1024MPI(1234)=12341=1234MPI(1234)=12341=1234\text{MPI}(1234)=1234^1=1234 数の最小のべき根は、固定点が見つかるまで繰り返し適用して得られる数として定義され。以下は、1から25までの数値の最小電力根の表です。nnnMPIMPI\text{MPI} n MPR(n) -------------------------- 1 1 2 1 3 531441 4 1 5 3125 6 4738381338321616896 7 1 8 16777216 9 1 10 1 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 1 21 21 22 …

2
サブセット和順序
n正数のセットには2^nサブセットがあります。これらのサブセットが同じ合計を持たない場合、セットを「nice」と呼びます。{2, 4, 5, 8}そのような素晴らしいセットです。どのサブセットも同じ合計を持たないため、サブセットを合計でソートできます。 [{}, {2}, {4}, {5}, {2, 4}, {2, 5}, {8}, {4, 5}, {2, 8}, {2, 4, 5}, {4, 8}, {5, 8}, {2, 4, 8}, {2, 5, 8}, {4, 5, 8}, {2, 4, 5, 8}] 数字[2, 4, 5, 8]を記号[a, b, c, d]で昇順にラベル付けすると、次の抽象的な順序が得られます。 [{}, {a}, {b}, {c}, {a, b}, …

18
RTA(Reverse-Then-Add)数値のルート
逆引き加算(RTA)シーケンスは、その逆に数値を追加し、その結果に対してプロセスを繰り返すことによって取得されるシーケンスです。たとえば、 5 + 5 = 10 ⇒ 10 + 01 = 11 ⇒ 11 + 11 = 22 ⇒ 22 + 22 = 44 ⇒ 。。。 5+5=10⇒10+01=11⇒11+11=22⇒22+22=44⇒ ... 5 + 5 = 10 \Rightarrow 10 + 01 = 11 \Rightarrow 11 + 11 = 22 \Rightarrow 22 + 22 = …
22 code-golf  math  number 

16
3行3列の行列の逆行列を見つける
チャレンジ a, b, c, d, e, f, g, h, i入力として、正方行列に対応する9つの数値を与えます。 M=⎛⎝⎜adgbehcfi⎞⎠⎟M=(abcdefghi)\mathbf{M} = \begin{pmatrix}a& b& c\\ d& e& f\\ g& h& i\end{pmatrix} 行列の逆行列M−1M−1\mathbf{M}^{-1}を見つけて、その成分を出力します。 逆行列 3 x 3の逆行列は、次の式に従います。 MM−1=M−1M=I=⎛⎝⎜100010001⎞⎠⎟MM−1=M−1M=I=(100010001)\mathbf{MM}^{-1} = \mathbf{M}^{-1}\mathbf{M} = \mathbf{I} = \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix} そして、次のように計算できます: M−1=1det(M)CTM−1=1det(M)CT\mathbf{M}^{-1} = \frac{1}{\det(\mathbf{M})}\mathbf{C}^T ここで、は補因子の行列です。CC\mathbf{C} C=⎛⎝⎜ei−fhch−bibf−cefg−diai−cgcd−afdh−egbg−ahae−bd⎞⎠⎟C=(ei−fhfg−didh−egch−biai−cgbg−ahbf−cecd−afae−bd)\mathbf{C}=\begin{pmatrix}ei-fh&fg-di&dh-eg\\ch-bi&ai-cg&bg-ah\\bf-ce&cd-af&ae-bd\end{pmatrix} そして、は転置です。CCTCT\mathbf{C}^TCC\mathbf{C} CT=⎛⎝⎜ei−fhfg−didh−egch−biai−cgbg−ahbf−cecd−afae−bd⎞⎠⎟CT=(ei−fhch−bibf−cefg−diai−cgcd−afdh−egbg−ahae−bd)\mathbf{C}^T = \begin{pmatrix}ei-fh&ch-bi&bf-ce\\fg-di&ai-cg&cd-af\\dh-eg&bg-ah&ae-bd\end{pmatrix} そしての決定要因である。Mdet(M)det(M)\det(\mathbf{M})MM\mathbf{M} det(M)=a(ei−fh)−b(di−fg)+c(dh−eg)det(M)=a(ei−fh)−b(di−fg)+c(dh−eg)\det(\mathbf{M}) = a(ei-fh)-b(di-fg)+c(dh-eg) 実施例 たとえば、入力がであるとしましょう0, -3, …

8
シングルダーツを獲得する
前書き ダーツがダーツボード上のどこに着地するかの座標を指定して、そのダーツのスコアを返すプログラムまたは関数を作成します。ダーツ座標はx,y、ダーツボードの中心からミリメートル精度で測定される2つの整数として与えられます。 ダーツを獲得する方法 ダーツは、円形のボードにダーツを投げてプレイするゲームです。ダーツボードは、20個の同じサイズの「ウェッジ」に分割されています。上部から時計回りに、セクションの値は20,1,18,4,13,6,10,15,2,17,3,19,7,16,8,11,14,9,12になります、5。ダーツがウェッジの黒または白の部分に着地した場合、そのウェッジの外側に示されている値を獲得します。 。 ただし、ダーツがダーツボードの外側の緑/赤のリングに着地した場合、ヒットしたウェッジの外側に示されているポイントを2倍に獲得します。同様に、内側の緑/赤のリング(2つの白/黒のセクションの間にあるリング)を押すと、ウェッジの外側に示されている数の3倍のスコアを獲得します。ダーツが最も内側の円(赤いブルズアイ)に当たった場合、代わりに50ポイントを獲得し、最後にダーツが2番目に内側の円(ブルズアイの周りの緑のリング)に当たった場合、25ポイントを獲得します。 ダーツボードの中心から測定したリングの寸法は次のとおりです。 Bullseye (50): [0mm-6mm) 25: [6mm-16mm) Inner Single: [16mm-99mm) Triple: [99mm-107mm) Outer Single: [107mm-162mm) Double: [162mm-170mm) Miss (0): 170mm+ 注1:提供されている写真は説明のみを目的としており、縮尺どおりではありません。 注2:測定値は概算であり、実際のダーツボードに対して正確でない場合があります。 注3:記載されているすべての測定値は[inclusive-exclusive)です。この課題のために、ダーツがワイヤーに当たって跳ね返る心配はありません。ダーツが放射状の線の1つで「ワイヤ上」に着地した場合、タイを時計回りまたは反時計回りに分割するかどうかを決定するのは回答者次第です。タイブレーク方向は一貫している必要があります。 注4:ダーツボードは、20セクションの中央がブルズアイの真上にあり、3セクションがブルズアイの真下にある標準的な方法で吊り下げられています。 入力 x,yダーツが着陸した場所の座標を表す2つの整数。ダーツボードの中心を基準にしたミリメートルで測定されます。 出力 与えられた座標に着陸したダーツに与えられるポイントの数を表す単一の整数。 サンプル 0,0 -> 50 2,101 -> 60 -163,-1 -> 22 6,18 -> 1 -6,18 -> 5 45,-169 …
22 code-golf  game 

24
ogl-edocfチャレンジ
入力 範囲のASCII文字で構成される空でないシャッフルされた文字列。[ 32..126 ][32..126][32..126] 出力 出力は、入力文字列に連続した回転を適用することにより取得されます。 [a-zA-Z]入力文字列の各文字()について、左から右へ: 文字が大文字の場合、その前のすべての文字を左に1ポジションだけ回転します 文字が小文字の場合、その前のすべての文字を1つ右に回転します 例 入力:「Cb-Ad」 最初の文字は「C」です。左に回転する必要がありますが、この「C」の前に文字はありません。したがって、回転するものは何もありません。 次の文字は「b」です。「C」を右に回転します。単一の文字であるため、変更されません。 文字「-」は文字ではないため、回転をトリガーしません。 次の文字は「A」です。「Cb-」を左に回転すると、「bC Ad」が得られます 4番目の最後の文字は「d」です。「b-CA」を右に回転させると、「Ab-C d」が得られます したがって、予想される出力は「Ab-Cd」です。 ルール 入力は、文字列または文字の配列として受け取ることができます。これは、言語に応じて、同じである場合とそうでない場合があります。 文字列の代わりに文字の配列を出力することもできます。 これはogl-edocf code-golfです テストケース "cbad" -> "abcd" "ACBD" -> "ABCD" "Cb-Ad" -> "Ab-Cd" "caeBDF" -> "aBcDeF" "aEcbDF" -> "abcDEF" "ogl-edocf" -> "code-golf" "W o,ollelrHd!" -> "Hello, World!" "ti HIs …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

3
パスと無駄な時間
前提 だから最近、私は予定の約30分早く、外で待つことにしました。また、家の前にじっと立っているだけでは奇妙に見えると判断しました。そのため、私は限られたエリア内で、早歩きすることにしました。また、もし私が円を歩き始めたら、それは私がwasしていることを明らかにするだろうと結論づけました。だから、最初のCode Golfチャレンジを作成することに触発されました。 仕様 リスト、エリアの地図が表示されます。これには、" "またはのいずれかが含まれます。これらは"#"、ある種の空きスペースと障害物を表します。空きスペースを横断できるのは1回のみで、横断するには1分かかります。あなたの初期位置は"@"ローグライクごとの伝統で表され、ターゲットは"$"そこで表されるでしょう。なぜならそれはそこであなたが失うことになるからです。また、まるであなたが侵入しているかのように見えなくなる前にあなたが無駄にしなければならない分数を表す整数が与えられます。着陸するとき"$"、正確な分数である必要があります(したがって、カウントダウンする場合、隣接するタイルでは1であり、タイルでは0である必要があります)。常に目的地に到着することが可能です。プログラムまたは関数は、可能な4つの方向を表すために、<、>、^、およびvを含む最短パスを示すリストを返す必要があります。 例 入力: [[" ", " ", " ", " "], ["@", " ", " ", "$"], [" ", " ", " ", " "], [" ", " ", " ", " "]] そして 5 出力: [[">", ">", ">", "v"], ["^", " ", " ", …

11
数字の製品シーケンス
ブルームズバーグ大学の数学者、ポール・ルーミスによって発見された興味深いシーケンスは次のとおりです。このシーケンスに関する彼のページから: 定義する f(n) = f(n-1) + (the product of the nonzero digits of f(n-1)) f(0) = xと、xベース10に書き込まれた任意の正の整数、など。 したがって、で始まるf(0)=1次のシーケンスが得られます 1, 2, 4, 8, 16, 22, 26, 38, 62, 74, 102, 104, ... これまでのところ、標準です。興味深い特性は、他の整数を開始点として使用すると有効になり、最終的にシーケンスは上記のx=1シーケンスに沿ってポイントに収束します。たとえば、x=3yields で始まる 3, 6, 12, 14, 18, 26, 38, 62, 74, 102, ... 以下にいくつかのシーケンスを示します。それぞれは、到達するまで表示されます102。 5, 10, 11, 12, 14, …

19
これは連続した素数/定数の指数ですか?
少し前に、27000の素因数分解を見ました。 27000 = 2 3 ×3 3 ×5 3 それについて2つの特別なことがあります: 連続素数:素数は連続しています:2は1番目の素数、3は2番目の素数、5は3番目の素数です。 constant-exponent:指数はすべての素数で同じです(常に3) 数学的に表現された: 整数xは厳密に正の整数が存在する場合に連続プライム/定数、指数の数であるN、K、mはその結果、X = P nはM × P N +1 M ×...× P N + k個のM、Pをjはj番目の素数 あなたの仕事は、正の整数がこれらの条件を満たすかどうかをテストすることです。 入力: 妥当な形式の正の整数> 1。 出力: 入力が連続した素数/定数の指数であるかどうかを示す、少なくとも1つは一定でなければならない2つの値の1つ。 エッジケース: 素数pの因数分解はp 1であるため、素数は真実です 以下のように書くことができる他の数のP M pが素数でもtruthyあります。 ルール: 標準の抜け穴が適用されます。 整数オーバーフローの心配はありませんが、255までの数字が機能する必要があります。 バイト単位の最短コードが優先されます。 テストケース: 真実: 2 3 4 5 6 …

30
2のない数字を表示する
1から100までの数字(昇順)を表示しますが、数字2はシーケンスのどこにも表示されません。そのため、たとえば、数字の2(2)または23(23)が連続してはいけません。 次に、数値を区切る改行を使用した出力例を示します。 1 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 30 31 33 34 35 36 37 38 39 40 41 43 44 45 46 47 48 49 50 51 53 54 55 56 57 58 59 60 61 63 64 …

9
文字通りCRとLFを取る
古き良きメモ帳のお祝いとして、キャリッジリターンとラインフィードを、今日使用されている(ab-)ものではなく、本来の意味として扱います。 印刷可能なASCIIと改行(␊; LF; esc \n; hex 0A; dec 10)およびキャリッジリターン(␍; CR; esc\r ;進0D; 12月13日)、原因オンラインそれを試してみてどのように印刷可能な文字を表示しますこれらの2つの制御文字をそのまま使用するプリンターで印刷すると、位置付けられます。 改行時に、さらに1行下に印刷を続けます 復帰時に左端から印刷を続行します 複数の連続したキャリッジリターンは、単一のキャリッジリターンのように動作します。 最新のデバイスに問題があるため オーバーストライクにあるため、1つ以上のキャリッジリターンの実行は、入力の先頭を除き、少なくとも1つの前後の改行なしでは発生しません。ただし、2回のキャリッジリターンは、単一の改行で区切ることができます。 少なくとも入力で与えられた空白の量が保存されている限り、行の右側とテキスト全体の下の両方の追加の末尾空白は許容されます。 例(ラインフィードとキャリッジリターンの使用\nと使用\r) Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet, consectetur adipiscing\nelit, sed consectetur adipiscing elit, sed do eiusmod\r\ntempor incididunt\n\n ut labore do eiusmod tempor incididunt ut labore et dolore\n\rmagna …

3
L o o o p p I t
注:この質問のタイトルは「Loop It」にする必要がありますが、タイトルは少なくとも15文字である必要があるため、目に見えないスペースがいくつかあります。このメモは、チャレンジを検索できるようなものです。 チャレンジ 平面内の一意の積分点の有限リストが与えられた場合、頂点が正確にそれらの点であり、自己交差しない多角形を見つけます。 詳細 入力として、たとえば、x座標とy座標をそれぞれ持つ2つのリスト、またはペアのリストを使用できます。 入力リストには少なくとも3つのポイントが含まれます。 これは、一意のソリューションが存在しないことを意味することに注意してください。 入力のリストは同一直線上にないと想定できます(ポイントを1行に含めることはできません)。つまり、実際にはこのような非自己交差ポリゴンが存在します。 各頂点の角度は任意であり、これには180°が含まれます。 lengthの入力のn場合、出力は-thエントリが入力リストの-thポイントを表す場所の順列(p1,p2,p3,...,pn)で(1,2,3,...,n)ある必要があります。これは、to からの行、to からの行など、to からの行があることを意味します。(0から始まるインデックスを使用することもできます。)または、正しい順序で入力ポイントのリストを出力することもできます。kpkpp1p2p2p3pnp1 例 ポイントが[(0,0),(0,1),(1,0),(-1,0),(0,-1)]あり、次のパスを表現したいとします。 これは、リストを出力することを意味します [5,1,4,2,3] ここでさらにいくつかの提案を試みます(目標を確認するために対応するプロットを確認することをお勧めします)。 Triangle [(0,0),(0,1),(1,0)] S-Curve [(0,0),(0,1),(0,2),(0,3),(0,4),(1,0),(2,0),(2,1),(2,2),(2,3),(2,4),(3,4),(4,0),(4,1),(4,2),(4,3),(4,4)] L-Shape [(4,0),(1,0),(3,0),(0,0),(2,0),(0,1)] Menger Sponge [(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1),(10,1),(11,1),(12,1),(13,1),(14,1),(15,1),(16,1),(17,1),(18,1),(19,1),(20,1),(21,1),(22,1),(23,1),(24,1),(25,1),(26,1),(27,1),(1,2),(3,2),(4,2),(6,2),(7,2),(9,2),(10,2),(12,2),(13,2),(15,2),(16,2),(18,2),(19,2),(21,2),(22,2),(24,2),(25,2),(27,2),(1,3),(2,3),(3,3),(4,3),(5,3),(6,3),(7,3),(8,3),(9,3),(10,3),(11,3),(12,3),(13,3),(14,3),(15,3),(16,3),(17,3),(18,3),(19,3),(20,3),(21,3),(22,3),(23,3),(24,3),(25,3),(26,3),(27,3),(1,4),(2,4),(3,4),(7,4),(8,4),(9,4),(10,4),(11,4),(12,4),(16,4),(17,4),(18,4),(19,4),(20,4),(21,4),(25,4),(26,4),(27,4),(1,5),(3,5),(7,5),(9,5),(10,5),(12,5),(16,5),(18,5),(19,5),(21,5),(25,5),(27,5),(1,6),(2,6),(3,6),(7,6),(8,6),(9,6),(10,6),(11,6),(12,6),(16,6),(17,6),(18,6),(19,6),(20,6),(21,6),(25,6),(26,6),(27,6),(1,7),(2,7),(3,7),(4,7),(5,7),(6,7),(7,7),(8,7),(9,7),(10,7),(11,7),(12,7),(13,7),(14,7),(15,7),(16,7),(17,7),(18,7),(19,7),(20,7),(21,7),(22,7),(23,7),(24,7),(25,7),(26,7),(27,7),(1,8),(3,8),(4,8),(6,8),(7,8),(9,8),(10,8),(12,8),(13,8),(15,8),(16,8),(18,8),(19,8),(21,8),(22,8),(24,8),(25,8),(27,8),(1,9),(2,9),(3,9),(4,9),(5,9),(6,9),(7,9),(8,9),(9,9),(10,9),(11,9),(12,9),(13,9),(14,9),(15,9),(16,9),(17,9),(18,9),(19,9),(20,9),(21,9),(22,9),(23,9),(24,9),(25,9),(26,9),(27,9),(1,10),(2,10),(3,10),(4,10),(5,10),(6,10),(7,10),(8,10),(9,10),(19,10),(20,10),(21,10),(22,10),(23,10),(24,10),(25,10),(26,10),(27,10),(1,11),(3,11),(4,11),(6,11),(7,11),(9,11),(19,11),(21,11),(22,11),(24,11),(25,11),(27,11),(1,12),(2,12),(3,12),(4,12),(5,12),(6,12),(7,12),(8,12),(9,12),(19,12),(20,12),(21,12),(22,12),(23,12),(24,12),(25,12),(26,12),(27,12),(1,13),(2,13),(3,13),(7,13),(8,13),(9,13),(19,13),(20,13),(21,13),(25,13),(26,13),(27,13),(1,14),(3,14),(7,14),(9,14),(19,14),(21,14),(25,14),(27,14),(1,15),(2,15),(3,15),(7,15),(8,15),(9,15),(19,15),(20,15),(21,15),(25,15),(26,15),(27,15),(1,16),(2,16),(3,16),(4,16),(5,16),(6,16),(7,16),(8,16),(9,16),(19,16),(20,16),(21,16),(22,16),(23,16),(24,16),(25,16),(26,16),(27,16),(1,17),(3,17),(4,17),(6,17),(7,17),(9,17),(19,17),(21,17),(22,17),(24,17),(25,17),(27,17),(1,18),(2,18),(3,18),(4,18),(5,18),(6,18),(7,18),(8,18),(9,18),(19,18),(20,18),(21,18),(22,18),(23,18),(24,18),(25,18),(26,18),(27,18),(1,19),(2,19),(3,19),(4,19),(5,19),(6,19),(7,19),(8,19),(9,19),(10,19),(11,19),(12,19),(13,19),(14,19),(15,19),(16,19),(17,19),(18,19),(19,19),(20,19),(21,19),(22,19),(23,19),(24,19),(25,19),(26,19),(27,19),(1,20),(3,20),(4,20),(6,20),(7,20),(9,20),(10,20),(12,20),(13,20),(15,20),(16,20),(18,20),(19,20),(21,20),(22,20),(24,20),(25,20),(27,20),(1,21),(2,21),(3,21),(4,21),(5,21),(6,21),(7,21),(8,21),(9,21),(10,21),(11,21),(12,21),(13,21),(14,21),(15,21),(16,21),(17,21),(18,21),(19,21),(20,21),(21,21),(22,21),(23,21),(24,21),(25,21),(26,21),(27,21),(1,22),(2,22),(3,22),(7,22),(8,22),(9,22),(10,22),(11,22),(12,22),(16,22),(17,22),(18,22),(19,22),(20,22),(21,22),(25,22),(26,22),(27,22),(1,23),(3,23),(7,23),(9,23),(10,23),(12,23),(16,23),(18,23),(19,23),(21,23),(25,23),(27,23),(1,24),(2,24),(3,24),(7,24),(8,24),(9,24),(10,24),(11,24),(12,24),(16,24),(17,24),(18,24),(19,24),(20,24),(21,24),(25,24),(26,24),(27,24),(1,25),(2,25),(3,25),(4,25),(5,25),(6,25),(7,25),(8,25),(9,25),(10,25),(11,25),(12,25),(13,25),(14,25),(15,25),(16,25),(17,25),(18,25),(19,25),(20,25),(21,25),(22,25),(23,25),(24,25),(25,25),(26,25),(27,25),(1,26),(3,26),(4,26),(6,26),(7,26),(9,26),(10,26),(12,26),(13,26),(15,26),(16,26),(18,26),(19,26),(21,26),(22,26),(24,26),(25,26),(27,26),(1,27),(2,27),(3,27),(4,27),(5,27),(6,27),(7,27),(8,27),(9,27),(10,27),(11,27),(12,27),(13,27),(14,27),(15,27),(16,27),(17,27),(18,27),(19,27),(20,27),(21,27),(22,27),(23,27),(24,27),(25,27),(26,27),(27,27)]

10
原子イオン化エネルギーの圧縮
これは、異なるタイプの圧縮チャレンジです。通常のkolmogorov-complexityチャレンジでは、リストを正確に再作成する必要があります。ここでは、任意の方法で値を丸めることができます。キャッチは何ですか?あなたのスコアは、あなたのアウトプットがいかに間違っているかに基づいてペナルティを受けます。 この質問の一番下には、最初の108個の元素の最初のイオン化エネルギーのリストがあります。プログラムは、実行時に、このリストのかなり正確なコピーを出力する必要があります。入力や引数はありません。スコアリングのために、出力は確定的である必要があります(毎回同じ出力)。 出力フォーマット プログラム/関数は、原子番号の昇順にソートされた108個の数字のリストを出力する必要があります。このリストは、任意の適切な形式にすることができます。以下のソースデータは、水素からハッシウムまでの正しい順序で提供されています。 得点 スコアは、プログラムのバイト単位の長さに丸めのペナルティを加えたものになります。 丸めペナルティは各要素に対して計算され、合計されて合計ペナルティが得られます。 例として、番号を見てみましょう11.81381。プログラムがの誤った値を出力するとしましょう11.81299999。 最初に、真の値に小数点がないように、両方の数値に同じ10の累乗を掛けます1181381, 1181299.999。真の値の末尾のゼロは重要と見なされます。 次に、絶対誤差を決定するために絶対差が取られます81.001。 最後に、この要素のペナルティをとして計算しmax(0, log10(err * 4 - 1)) -> 2.50921ます。この式は、誤差が0.5未満であればペナルティが与えられないように選択されました(丸め内で答えが正しいため)その他の圧縮)。 以下は、ペナルティ計算プログラムのTry-It-Online実装です。このプログラムへの入力は、1行に1つずつ、数字のリストとして提供されます。このプログラムの出力は、合計ペナルティとスコアリングの要素ごとの内訳です。 データ 以下の番号のリストは、原子番号1から108までの正しい順序のターゲットデータです。 ソース 13.598434005136 24.587387936 5.391714761 9.322699 8.2980190 11.260296 14.53413 13.618054 17.42282 21.564540 5.1390767 7.646235 5.985768 8.151683 10.486686 10.36001 12.96763 15.7596112 4.34066354 6.11315520 6.56149 6.82812 6.746187 6.76651 7.434018 7.9024678 7.88101 …

17
ウォルシュ行列を生成する
A ウォルシュ行列が持つ正方行列の特別な種類である量子内のアプリケーションは、コンピューティング(そしておそらく他の場所で、私は唯一の量子コンピューティングを気)。 ウォルシュ行列の特性 寸法は、我々は彼らを呼び出し、ここでは2つの指数によってこれらの行列を参照することができ、したがって、2の同じ力ありますW(0)、W(1)、W(2)... W(0)として定義され[[1]]ます。 の場合n>0、 W(n)次のようになります。 [[W(n-1) W(n-1)] [W(n-1) -W(n-1)]] そうW(1)です: [[1 1] [1 -1]] そしてW(2): [[1 1 1 1] [1 -1 1 -1] [1 1 -1 -1] [1 -1 -1 1]] パターンは続きます... あなたのタスク 入力として整数を取り、任意の便利な形式でn出力/返すプログラムまたは関数を作成しW(n)ます。.svg正しい配列であれば、配列の配列、ブール値の平坦化された配列、画像を指定できます。 標準的な抜け穴は禁止されています。 いくつかのこと: の場合W(0)、1一度でもラップする必要はありません。単なる整数でもかまいません。 結果のインデックスを1つ作成W(1)できます[[1]]。 テストケース 0 -> [[1]] 1 -> [[1 1] [1 -1]] …
22 code-golf  math  matrix 

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