タグ付けされた質問 「c#」

この課題は、C#言語に関連しています。回答が特定の言語である必要があるチャレンジは、一般的に推奨されないことに注意してください。

30
C#でのコードゴルフのヒント
C#でゴルフをするための一般的なヒントは何ですか?私は、少なくともC#に固有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。回答ごとに1つのヒントを投稿してください。 -marcogのアイデアから借りた;)
62 code-golf  tips  c# 

1
キリンがキリンではないのはいつですか?
この種の「なぞなぞ」がプログラミングパズルとコードゴルフで話題になっていることを願っています。 以下のC#メソッドが返さfalseれる状況の例を示します。 public class Giraffe : Animal { public bool Test() { return this is Giraffe; } } 規則:上記のコード行は決して変更してはなりませんが、「プロジェクト」がコンパイルされてメソッドが呼び出されるように、コードをアプリケーションに配置します。実行すると、メソッドはを返す必要がありfalseます。私が念頭に置いている解決策は、実行時または類似の「エキゾチックな」事でそれ自身のILを放出せず、通常のインスタンスメソッド呼び出しです。

1
ちょっとした魔法
チャレンジ 次のC#メソッドがある場合: private static bool Test(bool a, bool b) { if (a && b) return false; if (a) if (b) return true; return false; } 値を指定するaとb、それtrueが返されます。 勝利条件 正しい引数を指定して、指定されたメソッドをwinに評価できる最初のエントリtrue。

19
三角法プログラムを有効にする
Triangularityは、Xcoder氏によって開発された新しいエソランであり、コード構造は非常に具体的なパターンに従う必要があります。 nコードのth行について2n-1は、プログラムの正確な文字がその上になければなりません。これにより、最初の行は1文字のみで、残りは2ずつ増加する三角形/ピラミッドの形状になります。 各行の.左右にsを埋め込み、文字が行の中央に配置され、すべての行が同じ長さで埋め込まれるようにする必要があります。lがプログラムの行数として定義されている場合、プログラムの各行の長さは2 * l - 1 たとえば、左側のプログラムは有効ですが、右側のプログラムは無効です。 Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 有効な構造にレイアウトすると、名前が明らかになります。 仕事 あなたの仕事は、三角コードを表す単一行の文字列を入力として受け取り、それを上記のように有効なコードに変換して出力することです。 I / Oの仕様: 入力には、範囲内の文字のみが含まれます 0x20 - 0x7e 入力の長さは常に二乗数であるため、うまくパディング可能です。 出力パディングには、他のものではなくドットを使用する必要があります。 受け入れ可能な任意の方法で入力および出力できます。これはコードゴルフなので、バイト単位の最短コードが勝ちです! テストケース input ---- output g ---- g PcSa ---- .P. cSa DfJ0vCq7G ---- …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

6
tryブロック内のすべてがすでにキャッチされているときにcatchに到達する
これは、私が推測する構文によってJavaとC#に制限されています。 このプログラミングパズルでExceptionは、キャッチできるがキャッチブロックの最後に再びスローされるを生成します。 try { while(true) try { // you are only allowed to modify code between this try { } brackets } catch(Exception ex2) { } } catch(Exception ex1) { // your goal is to reach this catch block by modifying the code ... // in the inner try block …

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

6
コードインジェクションはC#でも機能します!
次のC#プログラム出力が与えられた場合、プログラムが出力するようFalseに「悪意のある」コード行を挿入しますTrue。 class Program { static void Main() { System.Console.Write("False"); ; } } あなたの答えは、第二のセミコロンを置き換え、出力するプログラム原因となる文字列で構成する必要がありTrue、全体Trueと何もなく、True(いなくても改行を)。stdoutがコンソールに出力され、stdoutがファイルにリダイレクトされる場合、これを行う必要があります。 最短の答えが勝ちです。

5
セミコロンのない最短のHello Worldプログラム
私は最近、SOでC#を使用してセミコロンを使用せずにHello Worldプログラムを作成できるかどうかを尋ねる質問を見ました。課題は、これを再度行うことですが、可能な限り最短のコードで行います!
14 code-golf  c# 

3
Brainfuckのビット演算子
あなたの仕事は、以下の二項演算子のそれぞれに対して1つのBrainfuckプログラムを作成することです。各プログラムは、入力から1つまたは2つの8ビット数(AおよびB)を取得し、指定された操作を計算する必要があります。 A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 5つすべてを実装する必要はありません。スコアは次の方法で計算されます。 #totalCharacters + {4000 * #problemsNotCompleted} したがって、有効なスコアはゼロ(最高)から20,000(何も完了していない)までです。 結果を保存する場所や、入力を保存するかどうかは気にしません。8ビットセル、および必要なだけの空のセルを右側にのみ想定します。 最適なメモリ位置に番号がすでにあると仮定することができるので、IO操作を心配する必要はありません。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

1
ジェイソンが彼のJSONをフォーマットするのを手伝ってください
Jasonには大きなJSONがありますが、判読できないため、彼はそれをきれいにする必要があります。 フォーマット仕様 JSONには4つの異なるタイプがあります。 数字; ただ0-9 ストリング; で"エスケープされた二重引用符付き文字列\ 配列; で区切られ[]、アイテムはで区切られ,、アイテムはこれらのタイプのいずれかになります オブジェクト; で区切られ{}、formatはkey: valuekeyが文字列で、valueはこれらのタイプのいずれかです 間隔 配列には、項目間のコンマの後にちょうど1つのスペースが必要です。 オブジェクトには、キーと値の間にスペースが1つだけあるはずです。 : くぼみ 各ネストレベルは、以前よりも2インデントされます 各オブジェクトのキーと値のペアは、常に独自の行にあります。オブジェクトはインデントされます 配列に別の配列またはオブジェクトが含まれる場合、配列は複数行にわたってインデントされます。それ以外の場合、配列は1行のままです ルール このタスクを単純化するビルトインは許可されていません。 いつものように、標準的な抜け穴は許可されていません 例 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

1
C#最初の1(右から左)の2進数
C#を使用して、数値のバイナリ表現で最初の1(右から左)のインデックスを見つけようとしています。たとえば、バイナリの100は次のとおりです。 0b1100100 最初の1は右から3番目の位置にあるため、3になります。 234は2を生成し、0は0を生成します。 これが私の現在の解決策です: k < 1 ? 0 :(int)Math.Log(k & -k, 2) + 1; これを短くする方法はありますか?
10 code-golf  tips  binary  c# 

3
C#が主な問題です
このプログラミングパズルは、昨日ここで質問されたが、作者によって削除された別の質問に触発されました... チャレンジ: Visual C#(またはお気に入りのC#IDE)を使用して実行可能バイナリ(Windows .EXEまたはLinuxバイナリ)を作成します。これにより、次のテキストが標準出力に出力されます。 Main() is the main method of C# programs! ...ソースファイルに表示される4つの連続する文字MAINを使用せずに ノート: ソースコードにテキストが含まれている場合remainder(たとえば)、4つの連続した文字MAINが含まれmxainていますが、4つの文字が含まれている場合、連続していないためmxain許可されます。 C#IDE以外のプログラムを実行することは許可されていません。また、C#IDEの設定を変更して他のプログラムを実行することもできます(ただし、C#コンパイラなど、通常は実行されるプログラム)。 それ以外の場合は、「C#IDEを使用してPascalプログラムを作成し、C#プロジェクトの「事前ビルド」ステップでPascalコンパイラーを呼び出す」と簡単に言うことができます。 これは単純すぎるでしょう。 「プラグイン」(または同様のもの)を使用して拡張できるIDEのユーザー、または組み込みのバイナリファイルエディター(16進数エディター)を持つIDEは、他のC#IDEのユーザーに比べて非常に大きな利点があります。 したがって、これらの機能も使用しないでください。 他の非ASCIIエディター(ダイアログウィンドウエディターなど)の使用は明示的に許可されています! このように関数名にバックスラッシュを使用して提案された元の質問をするユーザー:static void M\u0061in()この回答はすでに他のユーザーによって読まれているため、これ以上は受け入れられません! ユーザーは、ソースコードエディターに.EXEファイルを単に入力して、「。cs」ではなく「.exe」としてファイルを保存することを許可するかどうかを尋ねました。回答:有効なWindowsとLinuxの両方のバイナリにNULバイトが含まれているため、これが可能であることは間違いありません。ただし、この方法で作成できる有効なバイナリが見つかった場合は、有効なソリューションがあります。 このサイトの名前は「Programming Puzzles & Code Golf」です。これは「Code Golf」ではなく「Programming Puzzle」です。課題は、他のすべてのユーザーより先に実用的なソリューションを見つけることであり、他のすべてより短いソリューションを見つけることではありませんソリューション。 したがって、有効なソリューションを説明する最初の投稿が勝利します。 幸運を! ちなみに、私はVisual C#Express 2010で動作するソリューションを持っています。

3
C#で数値の文字列表現をint []に変換する
数値の文字列表現をint[]各桁を含むに変換する最も短いC#ステートメントは何ですか? string number = "1234"; number.Array.ConvertAll(line.ToCharArray(), c => Int32.Parse(c.ToString())); number.ToCharArray().Select(i => Convert.ToInt32(i.ToString())).ToArray(); number.Select(i => Int32.Parse(i.ToString())).ToArray(); number.Select(i => i - '0').ToArray(); 誰かが私の最後のアプローチを倒すことができますか?
8 code-golf  tips  c# 

3
PHPゴルフのヒント:ファイルの読み書きとCLI
私はゴルフは最近、およびなどのファイルからデータを読み取るために使用されている技術のいくつかの課題PHPコードの数に参加しているfopen()とfread()か、file_get_contents()本当に私のコードchar型の数に打撃を与えます。特に、コマンドライン入力を読み込むために提供されるメソッド。 私の質問は、ファイルの内容を読み書きする最速の方法(最小キーストローク)と、プロンプトから行を読み込む最速の方法(最小キーストローク)は何ですか? (注:これはコードゴルフなので、外部ライブラリは使用できません。)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.