タグ付けされた質問 「code-challenge」

コードチャレンジは、他のスコアリングタグ(コードゴルフなど)ではカバーされない客観的な勝ち基準でプログラミングパズルを解くクリエイティブな方法の競争です。

23
アスキーアートオクタゴン
入力整数を指定するとn > 1、n文字で構成される辺の長さのASCIIアートオクタゴンを出力します。以下の例を参照してください。 n=2 ## # # # # ## n=3 ### # # # # # # # # # # ### n=4 #### # # # # # # # # # # # # # # # # #### n=5 ##### # # # # # # …
22 code-golf  ascii-art  code-golf  geometry  code-golf  balanced-string  code-golf  cops-and-robbers  code-challenge  cops-and-robbers  code-golf  code-golf  random  cryptography  code-golf  array-manipulation  number  code-challenge  integer  code-golf  math  integer  code-golf  math  math  parsing  image-processing  test-battery  math  number  combinatorics  fastest-code  code-golf  code-golf  math  number-theory  rational-numbers  polynomials  code-golf  math  geometry  code-golf  code-golf  number-theory  primes  factoring  code-golf  restricted-source  code-golf  string  decision-problem  counting  code-golf  math  sequence  fibonacci  code-golf  array-manipulation  counting  code-golf  array-manipulation  number-theory  code-golf  array-manipulation  code-golf  random  code-golf  string  hexadecimal  code-golf  string  code-challenge  sorting  code-golf  number  floating-point  code-golf  sorting  code-golf  decision-problem  fibonacci  code-golf  number  combinatorics  code-golf  string  code-golf  math  code-golf  electrical-engineering  code-golf  javascript  code-golf  base-conversion  code-golf  array-manipulation  matrix  binary-matrix  code-golf  kolmogorov-complexity  python  perl  ruby  code-golf  number  code-golf  optimization  integer-partitions  code-golf  string  code-golf  ascii-art 

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 

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 

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 …

15
いくつかのドミノを倒す!
インスピレーションを与えてくれたこの質問に感謝します この挑戦で、私たちはのストリングとしてドミノのラインを表すでしょう|、/そして\。入力としてドミノの文字列が与えられ、落ち着いたときにどのように見えるかを決定する必要があります。ドミノが倒れる方法のルールは次のとおりです |倒れたドミノの左にある立っているドミノは、\同様に左の倒れたドミノになります。 |倒れたドミノの右側にある立っているドミノも、/同様に倒れた右のドミノになります。 倒れたドミノが左倒れ\た/ドミノと右倒れたドミノの間にある場合、立ったままになります。 これらの規則は、配置が変更されなくなるまで繰り返し適用されます。 単一の入力がその結論に到達する方法の例を次に示します |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| あなたの仕事は、入力の最終結果を見つけて出力するコードを書くことです。入力は常に有効で、少なくとも2文字が含まれていると想定できます。 これはコードゴルフであるため、回答はバイト単位で記録され、バイト数は少ない方が良いでしょう。 テストケース |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

9
名詞ですか?
入力として文字列を指定し、それが名詞かどうかを判断します。 名詞として正しくラベル付けするかどうかで、最も一般的な1000の英単語でスコアが付けられます。 これらの単語のほとんどを50バイト以下に正しく分類するプログラムまたは関数が勝ちます。 名詞 名詞は、通常、物を表す言葉です。より複雑になりますが、それが基本的な考え方です。 単語が名詞または他の品詞のいずれかである可能性がある場合、それがまれな用法であっても、それを名詞として分類しました。または、実際に、このサイトに私のためにそれをさせました。 あなたが採点される単語は、これらの1000の一般的な単語です。これは単純なWikipediaからのもので、「2」と「1回」が追加されています。それらのうち、これらは586名詞であり、これらは414非名詞です。ここで 3つのリストをすべて見つけることができます。これらの入力はすべて小文字であることに注意してください。これらのリストは最終的なものです-文法を主張しようとしないでください。 名詞である入力で真実の結果を出力し、名詞ではない入力で偽の結果を出力する場合、プログラムは正しいと見なされます。 微妙: プログラムには確定的な出力が必要です。ランダム性を使用する場合は、シードします。プログラムでは、組み込みの名詞リストまたはその他の組み込みの品詞機能を使用できません。 例: a: noun act: noun active: noun about: non-noun above: non-noun across: non-noun あなたの答えにあなたのプログラムの成功率を示してください。最高の成功率で最大50バイトのプログラムまたは機能が優先されます。同点の場合、最低バイト数が勝者を決定します。がんばろう!

7
ポリグロット片の印刷
通常、ポリグロットは、各言語が他の言語に存在するコードの一部を無視できるように、文字列リテラルでラップしたり、コメント構文などのトリックを使用して構築されます。 あなたの目標は、各言語の出力がその出力を生成するポリグロットからのコードであるポリグロットを書くことです。具体的には、出力は削除のみのポリグロットコードから構築する必要があり、指定された言語のクインでなければなりません。 ルール 適切なクインだけが許可されます(ソースコードの読み取り、入力の取得、STDOUTへの出力、またはSTDOUTがオプションでない場合は最も近い代替が必要であり、プログラムは暗黙的に印刷されるリテラル以外のもので構成する必要があります)。 言語ごとに異なるエンコーディングを使用できるため、ここで重要なのは未加工バイトです。たとえば、言語AがUTF-8を使用し、言語BがCP437を使用する場合、(16進数)コードC3 88 46 47はÈFG言語Aと├êFG言語Bになります。 すべての出力は個別でなければなりません(やはり、生のバイトを比較します)。これにより、マイナー言語バージョンを制限しようとする複雑さを回避できます。2つの言語がコードの同じ部分を使用して同じことを行う場合、両方を要求することはできません。 XY両方で有効な出力でYZあるがBでも有効な2つの言語AとB がある場合XY、A YZの出力とBの出力として選択できるため、スコアでそれらの両方を要求できます(XY上記の規則のため、両方の言語を請求することはできません)。 すべての出力はできるだけ短くする必要があります。たとえばprint('foo')#something、Python 3のコードが(出力が正しくないという事実を無視して)の場合、出力する必要があるコードはになりprint('foo')、print('foo')#許可されません。正しい出力を生成する長さが等しい(最小の)文字列が複数ある場合は、いずれかを選択できます。 提出物は、少なくとも2言語の多言語でなければなりません。 あなたのスコアはによって与えられ(number of programming languages with distinct outputs)**3/(total byte size of polyglot)ます。最高のスコアが勝ちます。2つの提出が同じスコアを達成した場合、最初にそのスコアに達した提出が勝ちます。

2
仮想キーボードのテキスト入力
現代のゲーム機や従来のキーボードのない他のデバイスでは、テキストを入力しようとするのは悪夢です。仮想キーボードでいくつかのボタンとジョイスティックを使って入力するのは面倒であり、できるだけ少ない動き/ボタンを押すようにします。 使用するキーボードは次のようになります。 +---+---+---+---+---+---+---+---+---+---+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | +---+---+---+---+---+---+---+---+---+---+ | q | w | e | r | t | y | u | i | o | p | +---+---+---+---+---+---+---+---+---+---+ | a | …

5
オニオンプログラミング
印刷可能なASCII(16進コード20から7E)のみを使用して、4つのレイヤーに囲まれたコメントなしの正方形のN×N コアプログラムを記述し、(N + 8)×(N + 8)正方形プログラムを作成します(N> 0) 。N = 3の場合、レイアウト(実際のコードに置き換えられる)は次のようになります。 44444444444 43333333334 43222222234 43211111234 4321CCC1234 4321CCC1234 4321CCC1234 43211111234 43222222234 43333333334 44444444444 Cはコア3×3プログラムを表します。 1は1番目のレイヤーを表し、2は2番目のレイヤーを表します。 プログラムは常に、0 -1 31 -1 2 2 2stdin などのようなスペースで区切られた整数の文字列を使用します(単なる数字で、引用符や角かっこなどは使用できません)。出力は、レイアウトのどの部分が実行されたかによって異なります。 プログラムを実行するには5つの方法があります(実行には改行が含まれます)。それぞれがリストとは異なることを行います: コアのみを実行します。 CCC CCC CCC これにより、入力リスト要素の絶対値の最大値が計算さCOREれ、何度も新しい行に出力されます。最大値が0の場合、何も出力されません(改行で問題ありません)。 以下のための出力0 -1 31 -1 2 2 2になります CORE CORE ... 31回。 レイヤー1でコアを実行します。 11111 …

3
「展開」された回数を出力する正方形プログラムを作成する
1より大きい奇数の整数Nに対して、テキストの正方形のブロック、幅N文字、高さNを考えます。 例として、N = 5とし、テキストを次のようにします。 MLKJI NWVUH OXYTG PQRSF ABCDE これは、左下隅から反時計回りに螺旋状になったアルファベット(Zを除く)であることに注意してください。まるで丸いカーペットのようなものです。 テキストを時計回りに4分の1回転だけ「展開」FGHIすると、次のABCDE結果と同じレベルになります。 PONM QXWL RYVK STUJ ABCDEFGHI この展開は、テキストが1行になるまでさらに7回実行できます。 SRQP TYXO UVWN ABCDEFGHIJKLM UTS VYR WXQ ABCDEFGHIJKLMNOP WVU XYT ABCDEFGHIJKLMNOPQRS XW YV ABCDEFGHIJKLMNOPQRSTU YX ABCDEFGHIJKLMNOPQRSTUVW Y ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWXY チャレンジ 課題は、展開パターンに再配置して実行したときに、1/4回転で「展開」した回数を出力するテキストのN×Nブロックであるプログラムを作成することです。 ここには本当に2つのコンテストがあります:(うまくいけば乱雑になりません) 最小のNでこれを行います(N = 3の制限まで) 最大のNでこれを行います(制限なし) 受け入れられる回答はありませんが、これらの各カテゴリの勝者には、少なくとも50の報奨金が返されます。同点の場合、最も古い回答が勝ちます。 例 コードブロックが MyP rog ram そのまま実行すると、0が出力されます。 …

2
手書き数字を認識する
あなたの仕事は、手書きの数字を含む画像を読み取り、数字を認識して印刷することです。 入力: 28 * 28のグレースケールイメージ。スペースで区切られた0から255までの784のプレーンテキスト番号のシーケンスとして指定されます。0は白を意味し、255は黒を意味します。 出力:認識された数字。 スコアリング:MNISTデータベーストレーニングセット(ASCII形式に変換)からの1000枚の画像でプログラムをテストします。既に画像を(ランダムに)選択していますが、リストは公開しません。テストは1時間以内に終了する必要がありn、正しい答えの数を決定します。 nプログラムが対象となるには、少なくとも200である必要があります。ソースコードのサイズがの場合、sスコアはとして計算されs * (1200 - n) / 1000ます。最低スコアが勝ちます。 ルール: プログラムは標準入力から画像を読み取り、標準出力に数字を書き込む必要があります 組み込みOCR機能なし サードパーティライブラリなし 外部リソース(ファイル、プログラム、Webサイト)はありません プログラムは、自由に利用可能なソフトウェアを使用してLinuxで実行可能である必要があります(必要に応じて、ワインを使用できます) ソースコードはASCII文字のみを使用する必要があります 回答を修正するたびに、推定スコアと一意のバージョン番号を投稿してください 入力例: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …

14
64バイト以下で可能な限り多くの小数点以下のKhinchinの定数
キンチンの定数は奇妙な数学的定数であり、Wolfram MathWoldによれば、「高精度に計算するのは非常に難しい」。 ここでは、100桁までです。 2.685452001065306445309714835481795693820382293994462953051152345557218859537152002801141174931847697 ... Khinchinの定数を正しい小数点以下の最大数まで出力するプログラムを64バイト以下で作成します。 Khinchinの定数に直接関連する組み込みのライブラリ定数または関数を使用することはできません。(たとえば、Math.Khinchin(precision)は絶対に許可されません。) あなたは可能計算対数、総和などに数学ライブラリを使用します あなたはかもしれあなたの答えの一部または全部をハードコーディング。 プログラムは有限の出力を生成し、比較的近代的なコンピューター(ここにリストされているコンピューターなど)で1時間以内に実行する必要があります。 stdoutに出力する必要があります。入力はありません。 http://mothereff.in/byte-counterが 64バイト以下を登録する限り、任意の文字を使用できます。 得点 スコアは、2.68から始まる、プログラムが正しく出力するKhinchinの定数の連続する桁数です。間違った桁を出力できますが、最後の正しい桁のみがスコアにカウントされます。 たとえば、次の出力 2.68545200 2 06530644530971483548179569382038229399446295305115234555721 9ポイントを獲得します。数字ごとに1つ。2 6 8 5 4 5 2 0 0ただし、2の後は1である必要があります。

3
メタボウリングゴルフ
あなたの仕事は、最もユニークなバイトを持つ別のプログラム(B)を出力する最短のプログラム(A)を作成し、それが元のプログラム(A)を出力することです。基本的に、一対のウロボロスプログラムの半分(定期的な反復クイン)をゴルフし、残りの半分をボウリングしています。AとBは異なる言語である場合があります。 ルールとスコアリング 最終スコアは<number of unique bytes in B> / <number of bytes in A>です。最高スコアが勝ちます。理論上の最大スコアは256であることに注意してください。 プログラムAは少なくとも1バイトの長さが必要です プログラムBを完全に無操作で構成することはできません。つまり、少なくとも1つの文字が何らかの方法で出力に影響を与える必要があります。 カインの標準ルールは両方のプログラムに適用されます。特に、どちらの場合もエラーカインは許可されません。 回答形式の一貫性のために、次のようなものから回答を始めてください。 # <Language for A> & <Language for B>, Score: <B score> / <A score> = <combined score>

4
単語の音節を数える方法
入力:単一の英語の単語を含む文字列が渡されます。すべての文字は小文字になり、文字列にはアルファベット以外の文字は含まれません。 出力:単語に含まれる音節の数を表す1〜7の整数を返します。 スコアリング:プログラムは、このリポジトリで見つかったすべての単語に対して実行されます。あなたが取得する場合Nの言葉は修正して、あなたのプログラムがあるM大規模なバイト、その後、あなたのスコアがありますN-(M*10)。最大のスコアが勝ちます。 音節カウントを生成するために、これを単語リストとして使用し、これを音節のカウントに使用しました。

5
スワップとポップでリストを並べ替える
整数1〜Nのランダム化されたリストを考えてみましょう。次のアクションのみを使用してソートします。 最初と最後のリスト要素を交換します。(S) ポップ最初の要素をオフにして、リストの末尾に追加します。(P) 隣接する要素の十分なスワップでリストをソートできるため、これは常に可能です。SとPを使用すると、問題の2つの要素がリストの最初と最後の項目になるまでPを呼び出し、次にSを呼び出してそれらを交換し、元のインデックスになるまで再びPを呼び出すことで、隣接する要素を交換できます(スワップされます) )。 ただし、SおよびP操作の数の点では、この方法はほとんどのリストに最適とは言えません。 チャレンジ 1からN(N> 1)までの数字の順列を取り込むプログラムまたは関数を作成します。リストまたは文字列、または便利なものとして指定できます。左から右に適用したときに順列を並べ替えるSとPのシーケンスを出力する必要があります。このシーケンスは、最適に短くする必要はありませんが、短いほど良いです(スコアリングを参照)。 例 入力された場合は[2, 1, 3]出力があるかもしれないSPので、 Sを適用[2, 1, 3]すると[3, 1, 2]、 そしてPはに適用され[3, 1, 2]ます、それ[1, 2, 3]にソートされ、。 検証者 このスタックスニペットを使用して、シーケンスが実際にリストを並べ替えていることを確認できます。リストには角括弧が必要で、カンマで区切る必要があります。SPのシーケンスは、単なる文字列であるSのとPの。 <style>*{font-family:monospace}</style><script>function swap(list) {var tmp = list[0];list[0] = list[list.length - 1];list[list.length - 1] = tmp;}function pop(list) {list.push(list.shift())}function check() {var result = 'Sorted sucessfully.';var details = '';try …

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