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

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

21
すべての印刷可能な非英数字ASCIIシンボルを使用するプログラムを作成する
特に、ソースコードでこれらの各シンボルを少なくとも1回使用します。 ! " # $ % & ' () * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ コメント、文字列リテラル、正規表現(または他の種類のリテラルなど)内のシンボルはカウントされません(ただし、/**/or などの区切り文字""はカウントされます)。 プログラムはアクションを実行しないでください。コンパイルするだけで、実行時に何もしません。 何らかの理由で、選択した言語で一部のシンボルを使用できない場合は、そのことを厳密に説明してください(除外する対象と理由)。 更新:いくつかの回答では、正規表現で記号を使用しました。これは少し問題があると思いますが、文字列リテラルやコメントに入れるのと同じことです(そのため、その要件になどを入れました)。これなしで試してください。上記の要件も更新しました。 更新:最短のコードが勝ちます(code-golfとしてタグ付けされます)。提案されているように、タイブレーカーの基準が必要になる可能性が最も高くなります。同点がある場合、勝者はASCIIシンボルが可能な限り順序付けられているようにすることをお勧めします。正式:リストされた各シンボルの最初の出現をプログラムから除外します。これにより、リストされたシンボルの置換が行われます。順列の反転数が少ないプログラムが優先されます。 更新: C / ++、Java、Scala、Haskellなどの標準/メインストリーム言語でのソリューションをいくつか見たいです。

2
正規表現のコンパイル
このタスクでは、正規表現を読み取り、その正規表現が入力文字列を受け入れるかどうかを出力する別のプログラムを生成するプログラムを作成する必要があります。出力は、提出物と同じ言語で書かれたプログラムでなければなりません。 入力 入力は、次のABNFに一致する正規表現rです(最初の生産規則はですREGEX)。 REGEX = *( STAR / GROUP / LITERAL / ALTERNATIVE ) STAR = REGEX '*' GROUP = '(' REGEX ')' LITERAL = ALPHA / DIGIT ALTERNATIVE = REGEX '|' REGEX 入力がこの文法と一致しない場合、プログラムの動作は未定義です。 解釈 入力を正規表現として解釈します。ここ*で、Kleene-star(左引数を0回以上繰り返すことを意味します)|は代替で(あり、)グループであり、演算子はまったく連結されていません。グループ化はスターより優先され、スターは連結より優先され、連結は代替より優先されます。 正規表現が文字列全体と一致する場合、文字列は受け入れられると言われます。 出力 プログラムの出力は、文字列読み込み、あなたの投稿と同じ言語で書かれた別のプログラムであるのかどうか、実行時に方法を定義した実装では、出力rは受け入れ秒を終了。出力はユーザー定義の方法で実行できますが、受け入れられたプログラムと拒否されたプログラムの出力は2つだけでなければなりません。 出力プログラムの入力が2 16 -1バイトより長くなることはないと想定できます。 制限事項 提出物も、提出物によって生成されたプログラムも、組み込み機能またはライブラリを使用できません。 正規表現に一致 正規表現を変換する 正規表現をコンパイルする 文法からパーサーを生成する 提出物が簡単になるように問題を簡素化する 得点 …

17
カードのデッキを8回完全にシャッフルした結果を表示する
説明 完全なシャッフルは、カードのデッキが正確に半分に分割され、各パイルからのカードが交互に交互配置される場所です。オリジナルのボトムカードとオリジナルのトップカードは、完全にシャッフルした後も保存する必要があります。 8回の完全なシャッフルの後、標準の52カードデッキは元の順序に戻ります。 チャレンジ 8連続の完全なシャッフルを通過するカードのデッキの状態を表示するプログラムを作成します。デッキ内の各カードの番号とスーツを順番に表示する限り、人間が読めるデッキの表現を使用できます。9つの州すべてについて、すべてのカードの表現を表示する必要があります。 これはコードゴルフであるため、最短のソリューションが優先されます。 出力例 Javascriptのこの実装例によって生成された出力例を次に示します AS,AC,AD,AH,2S,2C,2D,2H,3S,3C,3D,3H,4S,4C,4D,4H,5S,5C,5D,5H,6S,6C,6D,6H,7S,7C,7D,7H,8S,8C,8D,8H,9S,9C,9D,9H,10S,10C,10D,10H,JS,JC,JD,JH,QS,QC,QD,QH,KS,KC,KD,KH AS,7D,AC,7H,AD,8S,AH,8C,2S,8D,2C,8H,2D,9S,2H,9C,3S,9D,3C,9H,3D,10S,3H,10C,4S,10D,4C,10H,4D,JS,4H,JC,5S,JD,5C,JH,5D,QS,5H,QC,6S,QD,6C,QH,6D,KS,6H,KC,7S,KD,7C,KH AS,4C,7D,10H,AC,4D,7H,JS,AD,4H,8S,JC,AH,5S,8C,JD,2S,5C,8D,JH,2C,5D,8H,QS,2D,5H,9S,QC,2H,6S,9C,QD,3S,6C,9D,QH,3C,6D,9H,KS,3D,6H,10S,KC,3H,7S,10C,KD,4S,7C,10D,KH AS,9S,4C,QC,7D,2H,10H,6S,AC,9C,4D,QD,7H,3S,JS,6C,AD,9D,4H,QH,8S,3C,JC,6D,AH,9H,5S,KS,8C,3D,JD,6H,2S,10S,5C,KC,8D,3H,JH,7S,2C,10C,5D,KD,8H,4S,QS,7C,2D,10D,5H,KH AS,5S,9S,KS,4C,8C,QC,3D,7D,JD,2H,6H,10H,2S,6S,10S,AC,5C,9C,KC,4D,8D,QD,3H,7H,JH,3S,7S,JS,2C,6C,10C,AD,5D,9D,KD,4H,8H,QH,4S,8S,QS,3C,7C,JC,2D,6D,10D,AH,5H,9H,KH AS,3S,5S,7S,9S,JS,KS,2C,4C,6C,8C,10C,QC,AD,3D,5D,7D,9D,JD,KD,2H,4H,6H,8H,10H,QH,2S,4S,6S,8S,10S,QS,AC,3C,5C,7C,9C,JC,KC,2D,4D,6D,8D,10D,QD,AH,3H,5H,7H,9H,JH,KH AS,2S,3S,4S,5S,6S,7S,8S,9S,10S,JS,QS,KS,AC,2C,3C,4C,5C,6C,7C,8C,9C,10C,JC,QC,KC,AD,2D,3D,4D,5D,6D,7D,8D,9D,10D,JD,QD,KD,AH,2H,3H,4H,5H,6H,7H,8H,9H,10H,JH,QH,KH AS,AD,2S,2D,3S,3D,4S,4D,5S,5D,6S,6D,7S,7D,8S,8D,9S,9D,10S,10D,JS,JD,QS,QD,KS,KD,AC,AH,2C,2H,3C,3H,4C,4H,5C,5H,6C,6H,7C,7H,8C,8H,9C,9H,10C,10H,JC,JH,QC,QH,KC,KH AS,AC,AD,AH,2S,2C,2D,2H,3S,3C,3D,3H,4S,4C,4D,4H,5S,5C,5D,5H,6S,6C,6D,6H,7S,7C,7D,7H,8S,8C,8D,8H,9S,9C,9D,9H,10S,10C,10D,10H,JS,JC,JD,JH,QS,QC,QD,QH,KS,KC,KD,KH

4
ASCIIアート画像を回転させる
すべてのASCII文字のうち、それらの一部が同じ基本文字の回転であるグループを形成していることは簡単にわかります。たとえば、V > ^ <。これにより、90度の倍数で回転できるASCIIアートを構築できる可能性があります。 チャレンジ あなたの目標は、ASCIIアートと、それをSTDINから回転させる度数を受け入れ、回転したASCIIアートをSTDOUTに印刷するプログラムをゴルフすることです。 入力の最初の行で、プログラムは数値Nを受け取ります。この数値は、ASCIIアートの幅と高さを表します。 その後、それぞれ正確にN文字のN行が追加されます(改行はこの数にはカウントされません)。アートのサイズは常に正方形になりますが、正方形にするためにスペースの形でパディングが含まれることがあります。 最後の行にもう1つ、90、180、または270の数字が表示されます。これは、画像を時計回りに何度回転させるかを表します。 注:入力画像には、正しい量だけ回転できる文字のみが含まれます。入力がこれらの要件に正確に一致しない場合、特定の動作は必要ありません。 出力として、プログラムは各行の後に改行を付けて、N文字の正確にN行を印刷する必要があります。オリジナルの各文字が回転したバージョンに置き換えられ、画像内の正しい場所に移動されるように、画像を回転させる必要があります。 例(あまり美しくないASCIIアート) 入力 5 <- || | |V +->+ |O <--+ 90 出力 ^ +-^ | | | | V +-+-- O <- (90と270による回転は、文字が正方形ではないため、あまり良く見えません) 入力 6 + /\ + | \ \| ( \/| \ ) I \ / :) …

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

3
三次のクインを書く
この課題は、「ゴルフ相互馬」の延長です。 選択した3つの言語を使用して、3次ウロボロスプログラムを作成します。 つまり、言語Aで、プログラムpBを言語Bで出力するプログラムpAを作成します。プログラムpBは、言語CでプログラムpCを出力し、次に言語Aで元のプログラムpAを出力します。 A、B、およびCの2つの言語が同じであったり、互いにサブセットまたはスーパーセットであったりすることはできません。pA、pB、pCのいずれも同一であってはなりません。 たとえば、Haskellプログラムは、元のHaskellプログラムを出力するjavaプログラムを出力するPerlプログラムを出力します。 一方、C#2プログラムを出力するC#3プログラムを出力するC#4プログラムは無効です。たとえば、PerlプログラムとRubyプログラムが同一であれば、Perl-> Ruby-> Bashの組み合わせでも無効になります。 これはコードゴルフなので、最短のプログラムpAが勝ちます。
17 code-golf  quine 

30
非プライム番号の検索
あなたがそれを受け入れることを選んだなら、あなたの挑戦は、数字が以下の基準を満たしている場合にtrueまたはfalse(またはyesとnoの同様の意味のある表現)を返す関数をコードゴルフすることです: 整数自体は素数ですOR 隣接する整数のいずれかが素数 たとえば、次 の入力7 Trueを返します。 の入力8もTrueを返します。 の入力は15Falseを返します。(14、15、16のいずれも素数ではありません) 入力は2 ^ 0から2 ^ 20までの数値に対して正しく返される必要があるため、符号の問題や整数のオーバーフローを心配する必要はありません。

4
ワードサーチソルバー
単語のリストと文字のグリッドを指定して、グリッド内のすべての単語を検索し、どの単語にも属さない文字を削除します。単語は、前方、後方、上、下、斜めのいずれかです。グリッド内の複数の場所でリスト内の単語が出現しないと仮定することができます。 入力は常に次のようになります:単語のリスト、1行に1つ、その後に空白行、その後に文字のグリッドが続きます。 例 入力 ADA ALGOL ASSEMBLY BASIC COBOL DELPHI FORTRAN JAVA LABVIEW LOGO PASCAL PERL PHP PYTHON SMALLTALK VISUALC LLJKCABLFCI OROLOBOCOIM GELACSAPRSX LPSTAHWVTAV ANRLXLXQRBI IHPLEDOXAHS KJYAPHPYNOU FABMADANZJA EVISNOHTYPL AAYLBMESSAC WEIVBALOGOM 出力 LL K FC OR LOBOCOI GELACSAPRS LP T TAV A L RBI IHPLED A S J APHP N …

9
自分の冒険を選択してください
Choose Your Own Adventureブックは、読者がストーリーの結果に影響を与える決定を行う必要があるインタラクティブな文学の形式です。ストーリーの特定の時点で、読者には選択可能な複数のオプションがあり、それぞれが読者を本の異なるページに送ります。 たとえば、ファンタジーの設定では、14ページで22ページに「ジャンプ」して神秘的な洞窟に飛び込むか、8ページにジャンプして近くの森を探索するかを決定する必要があります。これらの「ジャンプ」は次のようなページ番号のペアとして: 14 22 14 8 ほとんどの場合、物語には多くの結末がありますが、良い結末はわずかです。目標は、ストーリーをナビゲートして良い結末に達することです。 仕事: 特定の本の「ジャンプ」のリストが与えられたら、あなたの仕事は、特定の結末に至るルートを決定することです。これは非常に簡単なので、真の課題はできる限り少ない文字数で行うことです。 これは コードゴルフです。 サンプル入力(1が開始で、100が目標): 1 10 10 5 10 13 5 12 5 19 13 15 12 20 15 100 サンプル出力: 1 10 13 15 100 サンプル入力: 15 2 1 4 2 12 1 9 3 1 1 15 …

8
平方数の密度
数の平方数桁密度(SNDD)-自分で発明-は、連続した数字で見つかった平方数の数と数の長さの比です。たとえば、169は4つの正方形の数字(1、9、16、169)を含む3桁の数字であるため、4/3または1.33の正方形の数字の密度になります。4桁の数字1444には6つの正方形(1、4、4、4、144、1444)があるため、比率は6/4、つまり1.5です。前の例では、正方形の繰り返しが許可されていることに注意してください。また、441は番号1444内で連続して検出できないため、許可されません。 あなたの仕事は、与えられた範囲A-B(包括的)を検索して、最高の二乗数字桁密度を持つ数字を探すプログラムを書くことです。プログラムは、次の仕様に従う必要があります。 入力A、Bを1〜1,000,000,000(10億)の範囲で受け取ります。例:sndd 50 1000 結果として、最大のSNDDを持つ数値を返します。同点の場合、最小の数値を返します。 0は、0、00、000など、どのような形式の正方形としてもカウントされません。049や0049など、0で始まる正方形もカウントされません。 数値全体が正方である必要はないことに注意してください。 例: sndd 14000 15000 Output: 14441 sndd 300 500 Output: 441 ボーナス:1から1,000,000,000の間で最大のSNDDを持つ数字は何ですか?これが可能な限り大きいのか、それともより大きな範囲がより高い範囲にあるのかを証明できますか? 現在のスコア: ルビー:142 Windows PowerShell:153 Scala:222 Python:245 答えが選択されたので、ここにJavaScriptでの(変更されていない)リファレンス実装を示します:http ://jsfiddle.net/ywc25/2/

24
クリスマスの12日間の歌詞
これは誰にとっても楽しいチャレンジになると思い、人々が思いついた解決策を知りたいと思っています。 「12 Days Of Christmas」の歌詞を印刷する On the first day of Christmas, my true love gave to me, A partridge in a pear tree. On the second day of Christmas, my true love gave to me, Two turtle doves, And a partridge in a pear tree. ... On the twelfth day …

4
アスキーアートブレゼンハム線画
ASCIIアートでブレゼンハムの線を描く最短のプログラムを作成します。プログラムは、2つの整数xとy(コマンドラインまたはstdin、選択)を取り、左上から右xユニットおよび下yユニットに移動するASCII行を描画する必要があります。文字を使用し_、ブレゼンハムのアルゴリズム\に従って正しい場所に配置する必要があります。 を想定してもよいx >= yので、垂直セグメントは必要ありません。 _文字を使用しているため、1行のy=3場合、テキストを4行出力する必要がある可能性が高いことに注意してください(必要のない場合は、先頭に空白行を出力できます)。 例: 11 3 _ \___ \___ \_ 11 1 _____ \_____ 5 4 \ \_ \ \ ちょうど中間のポイントについては、どちらかの丸めを選択できます。 10 1 ____ \_____ or _____ \____

7
チックタックトー辞書
TicTacToeゲームは、プレイヤーが自分の行動を起こすような位置のシーケンスを示す文字列で表すことができます。 0 1 2 3 4 5 6 7 8 X常に最初にプレイすると仮定します。 「012345678」の文字列はゲームを示します XOX OXO XOX プレイヤーがをXマークするとゲームは既に勝ち6、その時点でゲームが終了し、に勝ちを与えXます。(つまり、プレーヤーが勝ったら残りの動きを無視します) あなたの課題(コード)は、すべてのゲーム(ソート順)とその結果を印刷することです。 フォーマット <movesequence>:<result>\n 例えば: 012345678:X 012345687:X 012345768:X ... 意味X受賞第一のプレーヤーのために、O第二のプレーヤーのための、およびD描画のために。 あります9!(362880)ゲーム。 結果を確認するためのデータを次に示します。 'X' Wins: 212256 'O' Wins: 104544 Draws : 46080 これはcodegolfであり、実行時間は1分以内でなければなりません。楽しんで! 編集:余分な詳細を削除し、そのまま印刷しstdoutます。ファイルを作成する必要はありません。

30
単語の文字を「追加」する
私の父は引退した教師であり、彼は学生が単語を綴るスペルと数学のクイズを組み合わせて与え、その後、a = 1、b = 2などの文字を加算して単語を「採点」しました。 (例:cat = 3 + 1 + 20 = 24)。これにより、クイズの採点が容易になりました。スペルが間違っている単語ではなく、誤った「スコア」をチェックするだけで済み、2つのスキルを一度にテストできるという利点がありました。 彼は私の友人を雇って、彼のために単語を採点するプログラムを書いたので、彼は間違いなく長い回答キーを生成することができました。この問題は、そのプログラムに触発されています。 要件: 大文字と小文字の任意の単語を受け入れます スペース、ハイフン、@ ^%#などの特殊文字に対してエラーを返します。 a = 1、b = 2、...およびA = 1、B = 2、... 単語のスコアを印刷する (オプション)スコアリング後に単語が辞書にあることを確認し、ない場合は警告を出力します。 外部の文字->数字辞書をインポートしません。自分で生成する必要があります。 任意の言語が受け入れられます。これは「デジタルルートバトル」に似ていますが、はるかに簡単です。
17 code-golf  word 

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