プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

9
Anti-golfscript anti-golf:GolfScriptまたはJがあなたの(従来の)langによってアウトゴルフされるタスクを作成する[終了]
次の3つを作成する必要があります。 タスクのステートメント、T。 一般的にゴルフのために使用されていない言語でのタスクのソリューション、A。 ゴルフに一般的に使用される言語でのタスクの解決策、B。Bを膨らませてスコアを上げようとしないで、代わりにBが競合他社によって書かれたように考えてください。 定義にtypically used for golfingは常識を使用し、他のユーザーの楽しみを最大限に活用してください。 他のユーザーがより良いBsを提案するかもしれません(他の「ゴルフ」言語を含むかもしれません)。 得点は(length_in_bytes(B)+5)/(length_in_bytes(A)+5)、多いほど良い。(得点式を変更する必要がありますか?..) 主なアイデアは、通常codegolfで適切に機能する言語が問題に対処するタスクを考案することです。それは、与えられたタスクにおける通常の言語の突然の強さ、またはいくつかのゴルフラングの突然の弱さである可能性があります。 などの特定のプログラミング言語に言及するタスクは避けてくださいInput a string and execute it as a Scheme code。

2
ほとんどの言語でどのコードがコンパイルされますか?[閉まっている]
些細なプログラムを除き、ほとんどの言語でどのコードがコンパイルされますか? (「自明」とは、空のプログラムや直接エコーされるテキストなどの回答を除外することを意味します。) 次のコードは、C、C ++、Perl、TeX、LaTeX、PostScript、sh、bash、zsh、Prologのすべてのプログラミング言語で明らかにコンパイルされます(そしてそれぞれに異なるものを出力します)。 %:/*:if 0;"true" +s ||true<</;#|+q|*/include<stdio.h>/*\_/ {\if(%)}newpath/Times-Roman findfont 20 scalefont setfont( %%)pop 72 72 moveto(Just another PostScript hacker,)show(( t)}. t:-write('Just another Prolog hacker,'),nl,halt. :-t. :-initialization(t). end_of_file. %)pop pop showpage(-: */ int main(){return 0&printf("Just another C%s hacker,\n",1% sizeof'2'*2+"++");}/*\fi}\csname @gobble\endcsname{\egroup \let\LaTeX\TeX\ifx}\if00\documentclass{article}\begin{doc% ument}\fi Just another \LaTeX\ hacker,\end{document}|if 0; /(J.*)\$sh(.*)"/,print"$1Perl$2$/"if$_.=q # hack …

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
劣悪なコンテスト:OS戦争[終了]
どのオペレーティングシステムが最適なオペレーティングシステムであるかについての議論がどのように多くの火炎戦争を引き起こしたかは誰もが知っています。あなたの目標は、お気に入りのオペレーティングシステムが優れていることの決定的な「証拠」を提供することです...別のオペレーティングシステムが悪いことの決定的な「証拠」を提供することです。 タスク:いくつかの計算を行うプログラムを作成します。少なくとも1つのOSでは正しく動作し、少なくとも別のOSでは正しく動作しません。 プログラムが何をすべき少なくともいくつかの計算、それはいくつかの簡単な入力を読み取ることがあるので、(あなたがしたい場合、または場合は、ファイルから、好ましくは、標準入力ではなく、リトルエンディアン/ビッグエンディアンを悪用すると、安いだけでなく、明白ではありません)、入力に応じて出力を提供します。計算は意味があり、正当化されている必要があります。たとえば、現実の生活や数学の問題を解決します。 どちらが正しく動作するか、どちらが動作しないかを指定して、両方のオペレーティングシステムを指定する必要があります。両方のオペレーティングシステムがよく知られている必要があり、ほぼ同時に(つまり、DOS 1.0と最新のOSの違いはありません)。スポイラータグで、違いの原因に関する短い説明を提供することをお勧めします(特に多くの人が気づかないと思われる場合)。 このような 違いの原因は微妙でなければならないので、そうでない#ifdef _WIN32か類似してください!覚えておいて、あなたの目標は、この特定のシステムが悪いことを「証明」することなので、人々はあなたのトリックを(すぐに)見つけることができないはずです! コードに非常に奇妙なまたは非常に珍しい部分がある場合は、コメントの中でそれが存在する理由を正当化する必要があります。もちろん、この「正当化」は大きな嘘になる可能性があります。 得点: これはゴルフではありません!コードはよく整理され、シンプルに保たれるべきです。覚えておいてください、あなたの目標は、人々がそれを疑わないようにバグを隠すことです。コードが単純であるほど、疑いは少なくなります。 勝者は投票によって決定されます。最初の有効な提出が勝った後、約10日後に最も投票します。一般に、コードは読みやすく、理解しやすいが、バグは十分に隠されており、発見されたとしても、悪意ではなく間違いに起因する回答は、投票する必要があります。同様に、プログラムがクラッシュしたり、何もしないだけでなく、バ​​グが間違った結果を引き起こすだけの場合は、さらに価値があるはずです。 いつものように、主観的な基準で、投票数が10%以下または投票数が1ポイント以下の場合、勝者として回答を選択する権利を保留します。

2
ASCIIアート3D StreetView
入力: 一連の整数を取得します(stdinまたはプロンプト経由で供給されます)。 このシリーズの整数のペアはすべて、建物の幅[有効範囲:1..10]および高さ[有効範囲:0..10]を表します 入力が整形式であると想定します。 サンプル入力(2行目はデモのみを目的としています): 1 2 1 1 1 0 2 4 1 3 1 2 2 1 WHWHWHWHWHWHWH 対応するサンプル出力: ______ / ______ / | | | | __ | | / __ / | __ | | | | __ / __ / | | | | / …

16
ソースコードの画像を出力します(Quine-a-Quineではありません)
コードゴルフ:ソースコードの画像を印刷します。 必要条件 他の場所に保存され、実行時に取得されるバージョンではなく、ソースコード自体のイメージを出力する必要があります。 コードは、手でコピーして結果を再現できるほど読みやすいものでなければなりません。 任意の画像形式が適用可能です。 ボーナス 複数の出力形式を許可する場合、スコアの-10%。 コードが「真の」馬でもある場合、-15%。すなわち、ソースコードは読み込まれませんが、ソースコードは埋め込まれています(例についてはこちらをご覧ください) コードが厳密なクインの場合は-30%-つまり、コードの画像がプログラムに埋め込まれています(Pietソリューション、私はあなたを見ています)。

28
ジョセフス問題(カウントアウト)
チャレンジ 2つの正の整数nとkを引数として取り、各k番目の人をカウントアウトした後、nから残っている最後の人の数を返す関数を記述します。 これはコードとゴルフのチャレンジなので、最短のコードが優先されます。 問題 n人(1からnまでの番号が付けられている)が円の中に立っており、一人が残るまで各k -thがカウントされます(対応するウィキペディアの記事を参照)。この最後の人の番号を決定します。 たとえば、k = 3の場合、 2人はスキップされ、3人目はカウントされます。すなわち、n = 7の場合、番号は3 6 2 7 5 1(詳細は1 2 3 4 5 6 7 1 2 4 5 7 1 4 5 1 4 1 4)の順序でカウントアウトされるため、答えは4です。 例 J(7,1) = 7 // people are counted out in order 1 2 3 4 …

30
文字列が等しいかどうかを判別
あなたの仕事は簡単です。1つの文字列が等価演算子(などを使用せずに、他の(ないアドレス、値)に等しいかどうかを判断し==、===または.equal())または不等号(!=、!==)他の言語についても同様のもの。これはどこでも意味します!これらの演算子はコード内のどこでも使用できません。ただし、を!exp直接比較していないなどのトグルを使用できますexp != with something else。 また、strcmp、strcasecmpなどの関数は使用できません。 比較演算子については(>=、<=、>、<)、彼らもされている禁止します。いくつかの答えにはこれが含まれていることに気づきますが、等式演算子を境界にしない答えをもっと見たいです。 PHPを使用した例を示します。 <?php $a = 'string'; $b = 'string'; $tmp = array_unique(array($a, $b)); return -count($tmp) + 2; 単にtrueまたはfalse(または言語で0または1などのtrueまたはfalseに評価されるもの)を返して、文字列が一致するかどうかを示します。上記の例に見られるように、文字列はハードコーディングする必要があります。ゴルフでは文字列をカウントしないでください。そのため、変数を事前に宣言する場合は、宣言をカウントしないでください。
29 code-golf 

21
ローマ数字で1から100までカウントします…
ローマ数字で1から100までカウントするプログラムを作成し、これらの数値を標準出力で出力します。数字はそれぞれスペースで区切る必要があります。 組み込み関数を使用してローマ数字に変換したり、外部アプリケーションやライブラリを変換することはできません。 望ましい結果は I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI XXII XXIII XXIV XXV XXVI XXVII XXVIII XXIX XXX XXXI XXXII XXXIII XXXIV XXXV XXXVI XXXVII XXXVIII XXXIX XL XLI XLII XLIII XLIV XLV XLVI XLVII …

30
最大シーケンス長を見つける
文字列があり、すべての文字の最大繰り返しシーケンスを検索するとします。 たとえば、サンプル入力が与えられた場合: "acbaabbbaaaaacc" サンプル入力の出力は次のとおりです。 a=5 c=2 b=3 ルール: あなたのコードは関数でもプログラムでも構いません-あなたが選択するために 入力は、stdin、file、またはfunctionパラメーターによることができます 出力には、入力に現れる文字のみを含める必要があります 入力の最大長は1024です 出力順序は重要ではありませんが、[char] = [maximum repeat sequence] [delimiter]の形式で出力する必要があります 文字列には任意の文字を含めることができます コンテストは、3日木曜日23:59 UTCに終了します。
29 code-golf 

30
Rand5()からRand7()[クローズ]
関数Rand5()が提供されます。この関数は、1から5までの完全にランダムな(等分布)整数を返します。 Rand5()を使用して1から7までの完全にランダムな整数を生成する関数Rand7()を提供します。

30
4点が正方形を形成するかどうかを判別
入力として平面上の4点を取り、4点が正方形を形成する場合にtrueを返す関数を記述します。ポイントには、絶対値<1000の整数座標があります。 入力として4つのポイントの合理的な表現を使用できます。ポイントは特定の順序で提供されません。 最短のコードが優先されます。 正方形の例: (0,0),(0,1),(1,1),(1,0) # standard square (0,0),(2,1),(3,-1),(1,-2) # non-axis-aligned square (0,0),(1,1),(0,1),(1,0) # different order 非正方形の例: (0,0),(0,2),(3,2),(3,0) # rectangle (0,0),(3,4),(8,4),(5,0) # rhombus (0,0),(0,0),(1,1),(0,0) # only 2 distinct points (0,0),(0,0),(1,0),(0,1) # only 3 distinct points 縮退した正方形に対してtrueまたはfalseを返すことができます (0,0),(0,0),(0,0),(0,0)
29 code-golf  math 

13
何人のジミーを収容できますか?
で、この単純だが楽しい挑戦、あなたはジミーが彼らのプラットフォームで落ちるかどうかを決定するように求めていました。ジミーは3体の部分を持っている/、oと\このように配置されました /o\ プラットフォームはで表され-ます。ジミーは、プラットフォームの真上にない2つ以上の身体部分がある場合、プラットフォームから落下します。 いくつかの例: /o\ - ------- ジミーはすべての体の部分が体重以上であるためバランスを取り-ます。 /o\ ------ --- 2つの体の部分が-s を超えているため、ジミーはバランスを取ります。 /o\ -- ---- -- ジミーは2つのプラットフォームに分割されていてもバランスを取ります /o\ - 2つの体の部分がプラットフォームの上にないため、ジミーはバランスが取れません。 あなたの仕事は、-sとs(例えば文字列)だけを含む長さのあるコンテナとしてプラットフォームを取り、プラットフォーム上に配置できるジミーの数を出力するプログラムを書くことです。オーバーラップ。ジミーの体の一部は、弦の先頭の左側または弦の末尾の右側にあります。 これはコードゴルフなので、回答はバイト単位でスコアリングされ、より少ないバイトが目標になります。 テストケース 入力 - - - - - -- -- -- ---- - -- -- ------- - それぞれの出力 0 0 1 1 2 2 2 3
29 code-golf  string 

30
ジミーは彼のプラットフォームから落ちますか?
バックストーリー 友達のジミーに会う: /o\ ジミーは、プラットフォームに立つのが好きな小さなキャラクターです。プラットフォーム上に安全に立つジミーは次のとおりです。 /o\ ------------- 現在、ジミーはバランス感覚が優れているため、次のようにプラットフォームから片足を離して安全に立つことができます。 /o\ ------------------- 彼がプラットフォームから2つ以上の体の部分で立っている場合、彼は倒れますが。これらはどちらも、ジミーが陥る例です。 /o\ /o\ ---------- ---------------------- チャレンジ あなたの課題は、Jimmyがプラットフォームに落ちずに立つことができるかどうかを判断するためのプログラムを作成することです。 入力:ジミーの位置と彼の下のプラットフォームの位置を示す2行。これは、2つの個別の入力、単一の入力、または何らかの配列からのものです。 関数や標準入力など、合理的な形式で入力を行うことができます。あなたの言語が他のインプットメソッドをサポートしていない場合のみ、ハードコーディングに頼ってください。 出力:ブール値trueとfalse、またはそれぞれtrue / falseを表す整数1または0。 ブール値は、ジミーがプラットフォームにとどまることができるかどうかに基づいています-ジミーがプラットフォームにとどまることができる場合はtrue、彼が脱落する場合はfalseです。 プラットフォームのサイズは任意であり、自由に変更できます。あなたのプログラムはそれを説明する必要があります。 プラットフォームの長さをゼロにすることはできず、プラットフォームは完全でなければなりません(プラットフォームに穴がない)。 ジミーは、身体の一部がプラットフォームからぶら下がっているときに脱落することに注意してください。身体部分は、彼の身体の1つのASCII文字です。 プラットフォームの最後に空白を付ける必要はありませんが、プラットフォームの後に空白がある場合とない場合の両方の状況をプログラムで考慮する必要があります。 禁止されている標準的な抜け穴に注意してください。 テストケース /o\ ✔️ TRUE ------------- /o\ ✔️ TRUE ---------- /o\ ❌ FALSE ------------------ /o\ ❌ FALSE ------- /o\ ❌ FALSE - 得点 これはcode-golfであるため、バイト数が最も少なくなります。 …

28
チェス盤のすべての白または黒の正方形を出力します
前書き これがチェス盤の様子です。 あなたはそれa1が暗い正方形であることがわかります。しかし、b1ある光の正方形。 タスク 課題は、与えられたdark、lightまたはboth、すべての暗い色、明るい色、またはすべての正方形 を区切り文字(空白や改行など)で出力することです。すべての正方形の順序は重要ではありません。 テストケース Input: dark Output: a1 a3 a5 a7 b2 b4 b6 b8 c1 c3 c5 c7 d2 d4 d6 d8 e1 e3 e5 e7 f2 f4 f6 f8 g1 g3 g5 g7 h2 h4 h6 h8 Input: light Output: a2 a4 a6 a8 b1 …

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