タグ付けされた質問 「programming-puzzle」

プログラミングパズルには、目標、部分的に完成したプログラム、およびプログラムの変更方法の概要を示すルールが含まれています。このプログラムは、目標の達成を困難にするように特別に設計されています。プログラミングパズルへの答えは、プログラムを受け取り、ルールで指定された方法でのみそれを変更して、目標が達成されるようにします。

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

4
分岐しないでください
低レベルのコード最適化にある程度慣れている人は、if-statements、loops、またはselect-statementsとして実装されても、分岐の予測ミスの可能性はひどいクロックを浪費するものです。 単純な問題は単純な算術ではるかによく解決できるので、そうしましょう。 次の問題では、すべての変数は32ビット符号なし整数であり、許可されるコードは次の演算子のみを含むプレーンセットステートメントのみです。 + addition - subtraction * multiplication / integer division, rounds down, division by 0 not allowed % modulo & binary and | binary or ^ binary exclusive or >> bitshift right << bitshift left Logic operators, return 1 if the expression is true and 0 if it …

5
Pythonスクリプトにコメントを追加して、バイリンガルPython / C ++の「プログラム」にします
次のPython 3スクリプトを考えます: def greet(): print("Hello, world!") greet() このテキストファイルにいくつかの行を追加して、Pythonプログラムとして実行できるだけでなく、同じ出力を生成するC ++プログラムとしてコンパイルおよび実行できるようにします Hello、world!(最後の改行を含む): $ python3 bilingual.py.cpp Hello, world! $ g++ bilingual.py.cpp && ./a.out Hello, world! ソリューションは、Pythonスクリプトを含むプログラム全体の非空白文字の数によってスコア付けされます。 sed 's/\s//g' bilingual.py.cpp|wc -c

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 

5
m3ph1st0sのプログラミングパズル3(C):「簡単なバグ」[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新することがありますので、上のトピックコードゴルフスタックExchange用。 4年前に閉鎖されました。 これは私のシリーズのC / C ++パズルの3番目です。最初の2つを見逃した場合、それらはここにあります:(1)m3ph1st0sのプログラミングパズル1(C ++) (2)m3ph1st0sのプログラミングパズル2(C ++): "Call hard!" 私のパズルは100%オリジナルだと言わなければなりません。そうでない場合、私は常にテキストでそう述べます。私の3番目のパズルには、次の2つの部分があります。 パズル3.1 この部分(3.1)は私のオリジナルのパズルではなく、私が少し前に読んだインターネットのページから集められたものです。ここであなたの出発点とウォームアップとしてそれを使用します。これを解決してから、2番目の部分に進みます。 誰かが「+」記号を20回印刷しようとして、次のプログラムを思いつきました。 #include <stdio.h> int main() { int i; int n = 20; for( i = 0; i < n; i-- ) printf("+"); return 0; } 期待した結果が得られなかったという事実は明らかです-プログラムは終了しません。修理する!簡単?ここで、1文字のみを変更してプログラムを修正します-もちろんスペース以外の文字です!この課題には3つの解決策があります。3つすべてを見つけます。明確にするために、プログラムは20個の「+」記号を出力し、高速で終了する必要があります。「高速」が何を意味するかを批判する前に、それはせいぜい数秒であることを言います(ちなみにそれは多すぎますが、それを明確にするためだけです)。 パズル3.2 EDITED これは、以前の3.2.2パズルのためのソリューションは、コンパイラに依存かもしれないことを私に指摘しました。主題に関する考えられる議論を排除するために、論争を引き起こさないように特別な注意を払うときに、アイデアを修正し、次のパズルでそれを改善します。ただし、このパズルを継続するために、3.2.2を少し修正します(ソリューションは簡単ですが、よりクリーンになります)。 パズルを初めて見たとき、私はそれがかなりすごいと思いました。私は何とかそれを解決しましたが、すぐにではなく、注意を払う必要がありました。あなたがここにいるなら、あなたもそれを解決したことを意味します。すべての可能な文字をすべての可能な値に置き換えて、すべてのソリューションをテストするプログラムを作成してこれを行った場合、あなたは失われます。一生懸命働いています。20個の「+」記号を書き込むプログラムを修正しました。 3.2.1:結果が有効で、修正された3つのプログラムすべてで同じものが出力されるように、コードに1文字だけを挿入します。言うまでもなく、この文字はmainを囲む}の前にある必要があります(プログラムの後に文字を入れただけで、コンパイラが非常に友好的だったのは聞きたくないからです)。 編集(以下を参照)-これらの最後の質問では、カウンターiが0ではなく-1から始まることを考慮してください。 3.2.1.5:出力が少なくとも19個の「+」記号であるという条件で、以前のすべての問題を繰り返します(ただし、出力は有限です)。スペースの変更は許可されています。これで、最初のケースよりも多くの解決策が見つかりました。これらのいくつかは、3.2.2の質問に最も確実に適合します。 3.2.2:別の値を選択して変数nを初期化し、結果の出力が3.2.1.5の少なくとも1つの修正されたプログラムで同じになるようにします(すべてのプログラムである必要はありません)。 …

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で動作するソリューションを持っています。


7
べき等でないPython [終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、 Code Golf Stack Exchangeのトピックとなるようにします。 4年前休業。 次のXようなグローバル変数を参照しない数行のPythonコードを記述します。 def method(): X print(a) method() 印刷します1が def method(): X X print(a) method() プリント2。 だから、私は厄介者になるのが嫌いですが、それは実際にはPythonのグローバル変数のようでvarsあり、locals def test_global_1(): global vars, locals vars = lambda: 2 locals = lambda: 3 def test_global_2(): print(vars()) print(locals()) test_global_1() test_global_2() また、このようなパズルの客観的な勝利基準を見たいと思うようです。コードの長さはここでは実際には感じられないので、コードのさまざまな新機能のためにブラウニーポイントのシステムを作成できますか?これらが何であるかは正確にはわかりませんが、ここから始まります: 本当に本当にないグローバル(+1 varsまたはlocals)の+1 特定のテクニックを最初に投稿したことに対する+1 投稿された最短のソリューションの+1 +1は、単一のPythonステートメントのみを含むソリューションの場合 字句の非境界に参加するなどの興味深い「ハック」の+1 例外を使用しない場合は+1 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.