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

構文の有効性の確認、ある構文から別の構文への変換、無効な構文の修正など、プログラミングまたはマークアップ言語の構文に関連する課題。[balanced-string]タグも参照してください。

28
ファイを計算する(パイではない)
いいえ、私は意味しないϕ = 1.618...とπ = 3.14159...。私は機能を意味します。 φ(x)は、にx比較的素数であるかそれ以下の整数の数ですx。 π(x)は、以下の素数の数ですx。 「not pi」がπ̅(x)であり、それ以下の複合体の数になるように定義するとしましょうx。 仕事 厳密に正の整数を指定してx、φ(π̅(x))を計算しますます。スコアリングはバイト単位です。 例 各行は、入力(1〜100を含む)と、スペースで区切られた対応する出力で構成されます。 1 0 2 0 3 0 4 1 5 1 6 1 7 1 8 2 9 2 10 4 11 4 12 2 13 2 14 6 15 4 16 6 17 6 18 4 19 …
73 code-golf  sequence  primes  number-theory  code-golf  decision-problem  code-golf  date  code-golf  typography  code-golf  math  number  multiple-holes  code-golf  quine  code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

30
シュガーフリー構文
Haskellでは、リスト表記法: [a,b,c] 単なる構文上の砂糖です: a:b:c:[] そして、文字列表記法: "abc" 単なる構文上の砂糖です: ['a','b','c'] これは、文字列が次のことを意味します。 "abc" 次と同じです: 'a':'b':'c':[] 仕事 文字列を指定すると、Haskellで構文が除去されたバージョンがどのようになるかを出力する必要があります。 ルール 任意の有効な入力方法で文字列を受け取ります。入力文字列で:[]囲まれ'、で区切られたすべての文字で終わる文字列を出力する必要があります:。空の文字列が出力されます[]。 エスケープが必要な文字('改行、タブなど)を受け取らず、入力が印刷可能なASCII範囲にあると想定できます。 これは、答えのバイト数を最小限に抑えることを目的とするコードゴルフです テストケース "" -> [] "a" -> 'a':[] "Hello, World" -> 'H':'e':'l':'l':'o':',':' ':'W':'o':'r':'l':'d':[]

12
C変数宣言を読み取る
バックグラウンド Cの変数宣言ステートメントは、変数の名前、そのベース型、および型修飾子の3つの部分で構成されています。 タイプ修飾子には次の3種類があります。 ポインター*(プレフィックス) 配列[N](後置) 関数()(後置) 括弧内に関数引数のリストを指定できますが、この課題のために、それを無視して使用します()(技術的には「関数は任意の種類の引数を取ることができます」)。 また、表記を読み取る方法は次のとおりです。 int i; // i is an int float *f; // f is a pointer to a float my_struct_t s[10]; // s is an array of 10 my_struct_t int func(); // func is a function returning an int キャッチは、私たちのようなより複雑なタイプ、形成するために、これらのすべてを混在させることができるということである配列の配列や関数ポインタの配列やポインタの配列へのポインタを: int arr[3][4]; // arr …
41 code-golf  parsing  c  syntax 

18
コードのローマ字化
課題は、選択した言語でローマ数字を有効なコードにすることです。 それらは文字列または同様のものの内部に表示されるべきではありませんが、他のトークン、(アラビア語)数字などのリテラル、文字または文字列とまったく同じように機能します。または変数/メソッド/関数識別子など たとえば、Javaでは、次のようiに初期化されたかのようにコンパイルして実行する必要があります42。 int i = XLII; 数字の実際の解析は二次的なものなので、必要に応じてライブラリを使用できますが、これは人気のコンテストなので、創造性が奨励されます。 そのようなことがある場合、実際にローマ数字を使用する言語は使用できません。 がんばろう。

13
三項演算子の式を評価する
アルファベット上文法を考える{ 0、 1、 ?、 :}によって定義されるプロダクションルール S→ 0┃ 1┃ 0 ?秒:秒┃ 1 ?秒:秒 sから生成された文字列が与えられると、それを?:右結合式(たとえば、a?B?X:Y:c?d:e?f:gmeans a?(B?X:Y):(c?d:(e?f:g)))の式として解析し、次のセマンティクスで評価します。 eval(0) = 0 eval(1) = 1 eval(0?a:b) = eval(b) eval(1?a:b) = eval(a) 結果が0の場合、固定値を出力します。出力が1の場合、異なる固定値を出力します。回答で選択した出力値(0/ / 1またはFalse/ True)を指定します。 テストケース 0 -> 0 1 -> 1 0?0:1 -> 1 0?1:0 -> 0 1?0:1 -> 0 1?1:0 -> 1 0?1?0:1:1 …
29 code-golf  syntax 

30
賢い人のMira気楼
むかしむかし、Quoraでこの質問/回答を読んでいた FizzBu​​zzテストに合格できないコンピューターサイエンスの学位を持つプログラマーは本当にいますか このコードは明白な答えとして与えられます for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i もちろん、FizzBu​​zzは死ぬまでゴルフにかけられましたが、それはこの質問の目的ではありません。あなたはコメントで、4の倍数の印刷「ジャズ」などの追加条件を簡単に追加できるので、この明白な答えは素晴らしいと誰かが言及していることがわかります(同意しません。このスキームを拡張するにはO(2 ** n )コード行。) あなたの挑戦は、仲間によって判断されるようにFizzJazzBuzzの最も美しいバージョンを書くことです。 投票者が考慮すべき事項: ドライ 除算/モジュラス演算の効率 Quoraに関する回答の多くはPythonを使用していましたが、ここではそのような言語の制限はありません。 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

7
基本的なPythのような構文チェッカー
Pythは、Pythonに基づいたゴルフ言語です。プレフィックス表記を使用し、各コマンドは異なるアリティ(受け入れる引数の数)を持ちます。 あなたの仕事は、(存在しない)Pythライクな言語Pithの構文チェッカーを書くことです。 髄の構文 Pithには8つの単一文字コマンドしかありません。 01234()" 01234それぞれが対応する数のアリティを持っているため、その後に多くの引数が必要です。例えば、 400010 正しい髄プログラムがあるためである4四つの引数が続いている0 0 0と10されたのは、最後の1単一の引数が続きます0。これを視覚化するために、次のツリーを見ることができます。 R | 4 | ------------- | | | | 0 0 0 1 | 0 どこRがルートノードです。これについて考える別の方法は、各数値が、対応するノードが上のツリーに持つ子の数を指すということです。 次に、複数のベースコマンドを使用した別の有効なPithプログラムを示します。 210010 対応する R | ------------- | | 2 1 | | --------- 0 | | 1 0 | 0 一方、 3120102100 イニシャルには2つの引数しかないため、正しいPithプログラムではありません。3次のツリーを見るとわかります。 R …

9
Lispのような構文のフォーマット
バックグラウンド (真実の、心が痛む物語に基づいて) 私の時間の中で、私はLispや同様の言語でよく遊んでいました。私はそれらで書いて、実行して、解釈して、設計して、マシンに私のために書いてもらいました...そして、もし私を悩ますことがあるなら、それは私の特定のフォーマットスタイルに準拠していないLispを見ています。 残念ながら、一部のテキストエディター(咳 XCode 咳)は、コードをコピーして貼り付けるたびに美しいタブとスペースを削除する傾向があります。 (A (B (C) (D)) (E)) (ABCDE任意の関数はどこにありますか) 一部のテキストエディターは、この素敵なコードを次の目的で処理します。 (A (B (C) (D)) (E)) なんてこった!それは読めません! ここで私を助けて? チャレンジ この課題の目標は、以下で説明する形式で改行で区切られた一連の関数を取得し、読みやすさと優雅さを強調するより美しい配置を返すことです。 入力 FアリティN引数の関数を、次のような構成体として定義します。 (F (G1 ...) (G2 ...) (G3 ...) ... (GN ...)) G1, G2, ..., GNすべての機能はそれ自体でどこにありますか。アリティ0関数Aは単純(A)ですが、アリティ2関数Bの形式は(B (...) (...)) コードは、すべての関数の先頭の括弧(最初の関数を除く)の前に、単一の改行を持つ一連の関数として入力を受け取る必要があります。上記の例は有効な入力です。 あなたは仮定することができます: 括弧はバランスが取れています。 関数を250回以上インデントする必要はありません。 すべての機能は括弧で囲まれています。 () 関数の名前には、印刷可能なASCII文字のみが含まれます。 関数の名前に括弧やスペースが含まれることはありません。 入力時にオプションの末尾の改行があります。 出力 …

6
行列のリストの表記法を修正する、パート1
時々、コードに定数行列のリストがあります: [ [[1, 0], [0, 1]], [[1, 0], [0,-1]], [[0, 1], [1, 0]], [[0,-1], [1, 0]] ] これは、画面領域のひどい使い方です。私はむしろそれらを隣同士に書きたいです: [ [[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, 0]] ] これはまだ構文的に有効なネストされたリストであり、もはや長方形ではなく、非常に異なる構造を持っていることがわかります(特に、1x1より大きい行列を追加するたびに深くなります)。ただし、この新しいリストから行列の初期リストを再構築することはまだ可能です。 将来この構文を使用できるように、水平配置で記述された配列を、それらが表す行列のリストに変換するコードを記述する必要があります。 回答がソースコードのレイアウトで2Dパターンマッチングを実行しないように、入力は単なる配列オブジェクトとして、または文字列表現を使用する場合は、どのように空白を含まないかを指定します。リテラルはコードで書かれています。したがって、次のような入力が得られます。 [[[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, …

11
数値リストコンバーターを作成する
あるプログラムから別のプログラムに数字のリスト(ベクトル、配列...)をコピーアンドペーストしたいのですが、あなたが数字を持っている形式は必要な形式と一致しません? たとえば、MATLABでは、次のようなスペースで区切られたリストを使用できます。 [1 2 3 4 5] (you can also have it comma separated, but that's not the point) Pythonでは、そのリストを有効な入力にするためにコンマを挿入する必要があるため、次のように変換する必要があります。 [1, 2, 3, 4, 5] それを機能させるために。C ++では、次のようなものが必要になる場合があります。 {16,2,77,29} 等々。 すべての人の生活を簡素化するために、任意の形式のリストを取得*し、別の指定された形式のリストを出力するリストコンバーターを作成しましょう。 有効な括弧は次のとおりです。 [list] {list} (list) <list> list (no surrounding brackets) 有効な区切り文字は次のとおりです。 a,b,c a;b;c a b c a, b, c <-- Several …

10
SQLセレクト番号範囲
の数の範囲を行として達成するのは非常に難しいことがわかりましたMySQL。 たとえば、1〜5の範囲は以下によって達成されます。 SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 結果は次のとおりです。 1 2 3 4 5 0-99の場合、2つの0-9テーブルをクロス結合できます。 CREATE TABLE nums as SELECT 0 as num UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION …
19 code-golf  tips  syntax  sql 

6
Glyphoプログラムを翻訳する
有効なGlyphoプログラムの入力があれば、その「人間が読み取れる」対応物を出力します。 グリフォは興味深いエソランのアイデアです: 命令のリファレンスはここにあります。各命令の文字abcdは、各命令を構成するシンボルを表します。aは最初の一意のシンボル、bは2番目の一意のシンボルなどを指します。 aaaa ..... n NOP - no operation; do nothing aaab ..... i Input - push input onto top of stack aaba ..... > Rot - pops top stack element and pushes to bottom of stack aabb ..... \ Swap - swaps top two stack elements aabc ..... …

3
Stack Catsプログラムをフラット化する
Stack Catsは、可逆的なスタックベースの言語です。その可逆的な性質により、やや奇妙なループになります。この挑戦は条件付きループについて(...)です。これらのループが特定の方法でネストされると、コードを変換してネストの深さを減らすことができます。ルールは次のとおりです(任意のスニペットの場所Aと略称B): 1つのループが別のループで始まるとき、私たちは前に内部ループを抽出することができます:((A)B)なり(A)(B)。 1つのループが別のループを終了すると、我々は最後まで内部ループを抽出することができます:(B(A))なり(B)(A)。 空のループを()プログラムから完全に削除できます。当然の結果として(他の規則と組み合わせて)、((A))と同等(A)です。 残る唯一のネストされたループは、の形式です(A(B)C)。ここでA、BおよびC空ではありません。 チャレンジ 有効なStack Catsプログラムが与えられ、タスクは、上記の変換を使用して、ループのネストレベルを可能な限り減らし、空のループを残さないことです。 有効なStack Catsプログラム... ...は文字のみで構成され()/\<>[]{}!"*+-:=ITX^_|ます。 ...ミラー対称性\(]{}!{}[)/があります(たとえば、有効なプログラムですが、そうで/|/はありません)。 ...が正しく一致してネストされ()、and {}([]、通常のように一致する必要は<>あり\/ませんが、ミラー対称性の要件によりペアで表示されます)。 入力として文字列または文字のリストを使用できますが、出力は同じ形式で提示する必要があります。 プログラムまたは関数を記述し、入力を受け取って出力を提供する当社の標準的な方法を使用できます。これらの抜け穴はデフォルトでは禁止されていることに注意してください。 これはcode-golfであるため、バイト単位で測定された最短の有効な回答が勝ちます。 テストケース テストケースはそれぞれ2行(入力と出力)で、空の行で区切られています。1つの出力が空であることに注意してください。また、空の入力をサポートする必要があります(結果として空の出力になるはずです)。 (((=+|+=))) (=+|+=) ({(=+|+=)}) ({(=+|+=)}) ((\)/)I(\(/)) (\)(/)I(\)(/) (()()(())()()) ((<|>((X((T)))[_]))\^/(([_](((T))X))<|>)) (<|>)(X)(T)([_])(\^/)([_])(T)(X)(<|>)

2
タグを閉じてください!
これは、以前に削除された同じ名前の私のチャレンジに基づいています 前書き 入力にXMLのような1タグがすべて適切に開閉され、正しい順序であるかどうかに基づいて、真偽値を返すプログラムを作成する必要があります。入力として次のことを考慮してください。 <Apple> タグが正しく閉じられていないため、これは偽の値を返します。この: <Apple></Apple> 反対に、正しく閉じられているため、真理値を返します。また、ネストされたタグをチェックして、正しい位置にあることを確認する必要があります。たとえば、これを入力として使用します。 <mango><Apple></mango></Apple> すべてのタグは正しく閉じられていますが、正しい順序ではありません。プログラムは、正しいタグ階層とネストをチェックする必要があります。 定義 ルールと仮定に入る前に、いくつかのことを定義しましょう。 鬼ごっこ 基本的なXMLスタイルのタグ。例:<Apple>。彼らは(あるいはそうでなければ無効とfalseyだ)、最大で1つの先頭と末尾のスペースを持っているので、できる< Apple >と<Apple>同じです。これらのタグは、などの属性も含めることができますfoo="bar" (必要な二重引用符、または他の無効とfalsey付き)を、および属性名は任意の英数字またはを含むことができ_、:、-、と.。属性名には属性値も必要ありません。また、値には、"二重引用符を閉じる前以外の値を含めることができます。終了タグには属性を含めることはできません。また、タグに改行を含めることはできません。 タグ名 タグ名はタグの名前です。たとえば、<Apple>のタグ名はAppleです。タグ名には、属性名と同じ文字を含めることができ、大文字と小文字が区別されます。これはそうで<Apple>はありません <apple>。 自己閉鎖タグ <Apple />または<Apple/>(同じです)など、自分自身を閉じる通常のタグ。スラッシュとタグ名の間のスペースは許可されます。 プレーンテキスト 何でも含むことができ、<andで囲まれていない文字列>。 「シンプル」タグ 開始タグ、終了タグ、または自己終了タグのいずれか。 ルール 出力は返されるか印刷される場合があり、入力は任意の方法で取得できます 入力は、タグ、プレーンテキスト、またはその両方で構成される文字列です あなたのプログラムは、機能または作業プログラム全体にすることができます プレーンテキストはどこでもかまいません。入力がプレーンテキストのみで構成されている場合、プログラムは真実の値を返す必要があります。 プログラムにはネストされたタグの認識が必要です。タグがタグ内にネストされている場合、通常のXMLと同様に、ネストされたタグを閉じてから親を閉じる必要があります。そうしないと、falsey値が返されます。 仮定 入力は常に1つ以上の「単純な」タグであると想定できます。 入力は常に上記で定義されたタグの形式に従うと想定できます。 テストケース 偽り <apple> <apple></Apple> <apple></mango> <apple><mango> <a><b></a></b> Text<ul><li></li><ul /> <pear attr=foo></pear attr=foo> <Ketchup flavor=spicy></Ketchup> <Ap …

4
ゲッターをゲット
タスク 私は誰もが自動コード生成と仕事中の時間の節約を愛していると思います。日中は多くのクラスとメンバーを作成するgetters必要があり、それらすべてを手動で作成する必要はありません。 タスクはgetters、すべてのクラスメンバーに対して自動的に生成されるプログラムまたは関数を作成することです。 入力 私たちの言語では、オブジェクトは非常に単純です。クラスおよびメンバーの名前は、文字から始まる必要[a-zA-Z]があり、文字のみを含めることができます[a-zA-Z0-9]。以下に例を示します。 class Stack { public overflow; protected trace; private errorReport; } 出力 これは、指定された例に基づいた有効な出力です。 class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } ゲッター getterメソッドの要件は次のとおりです。 …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

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