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

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

4
多肢選択式テストを行う
私はあなたにテストを提示します!あなたのテストはテストすることです。テストは、短いテスト量のコードで、テスターが提供するテストで受験者をテストすることです。具体的には、入力として受け取った多肢選択テストを行います。 この課題では、次のような入力を行う必要があります。 1. Our site is called Programming Puzzles & Code ________. A: Debugging *B: Golf C: Hockey D: Programming 2. What is the *most* popular tag on our site? A: [debug] B: [program] *C: [code-golf] D: [number] E: [c++] 3. We are part of the ________ Exchange network. *A: …
14 code-golf 

12
MATLABでのゴルフのヒント
MATLABでゴルフをするための一般的なヒントは何ですか?私は、ゴルフに関する一般的な問題のコード化に適用できる、MATLABに少なくともある程度固有のアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。回答ごとに1つのヒントを投稿してください。
14 code-golf  tips  matlab 

4
Ratetodテキストfexir
私はvewolsがratetodであるように見えるこの奇妙なテキストをhevaします: 私はひどく書かれたテキストです。一部の狂人は母音の順序で遊んだ。私を修正してください! だから私はテキストがraadeble agianであるように戻ってvewols(と思われるように「y」文字)に評価することができるpragromが必要になるでしょう。 Ouyは、ouyr chieco privedod ouy meka a cempleto pragrom(単なるfinctounではない)のlungaegaを選択できます。yntreは、アンピットフィールド、テキストフェリ、またはカモンドレニです。ouy lekiとしてのuutpot mya olsa vyra。 cuersoの私はyna pragrom uutpitongの悪いテキストをアンビリします。merags text ouy can endarstundできないpragromにはvuleaはありません。しかし、ouyは、必要に応じて、ratetodテキストでouyr cemmontsとqeistounsを作成できます。 明確化 プログラムは、ASCIIテキストを処理するためにのみ必要です。 この質問の目的上、次の文字は母音です。 aeiouy 各単語内の母音の位置を回転させる必要があります。単語として適格なものを決定する際にある程度の柔軟性があります:最小要件は、スペースで区切られた2つの文字が異なる単語にあり、アルファベット文字a-zA-Zのみで区切られた2つのアルファベット文字()が同じ単語にあることです。 回転の望ましい方向は、以下のテストケースから推測する必要があります。 テストケース 入力:I'm a badly written text. Some lunatic guy played with the order of vowels. Please fix me ! 出力:I'm …
14 code-golf 

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 …

9
ジャンプの最小数
一連の数字が与えられたら、開始位置から終了まで移動して再び開始位置に戻るための最小ジャンプ数を見つけます。 シーケンスの各要素は、その位置から移動できる移動の最大数を示します。 任意の位置で、最大k移動でジャンプできます。kはその位置に保存されている値です。最後に到達すると、以前はジャンプに使用されていなかったジャンプの位置のみを使用できます。 入力は、単一のスペースで区切られた数字のシーケンスとして与えられます。出力は、使用されるジャンプの最小数である単一の数値でなければなりません。最後まで移動して開始位置に戻ることができない場合は、-1を出力します 入力: 2 4 2 2 3 4 2 2 出力: 6(最後に到達するには3、戻ってくるには3) 入力 1 0 出力 -1 注意 シーケンスのすべての数が負でないと仮定します 編集1 「したがって、常に最後の位置からジャンプできることは明らかです。」紛らわしいかもしれないので、質問から削除しました。質問には影響しません。 受賞基準: 勝者はコードが最も短いものになります。

4
マシンコードで印刷可能な表示ASCII文字のみを使用して、x86 / x86-64で異なる分岐を行います。
タスクは簡単です:マシンコードで印刷可能な可視ASCII文字0x21 ... 0x7e(スペースとdelは使用できません)のみを使用して、x86(32ビット)とx86-64(64ビット)で異なる分岐を行うプログラムを記述します。 条件付きアセンブリは許可されていません。 API呼び出しの使用は許可されていません。 カーネルモード(リング0)コードの使用は許可されていません。 LinuxのIA-32とx86-64の両方、または他の保護モードOSで例外を発生させずにコードを実行する必要があります。 機能はコマンドラインパラメータに依存してはいけません。 すべての命令は、0x21 ... 0x7e(10進数で33 ... 126)の範囲のASCII文字のみを使用してマシンコードでエンコードする必要があります。例えば 自己修正コードを使用しない限りcpuid、制限外です(0f a2)。 同じバイナリコードをx86とx86-64で実行する必要がありますが、ファイルヘッダー(ELF / ELF64 / etc。)が異なる場合があるため、再度アセンブルしてリンクする必要があります。ただし、バイナリコードは変更しないでください。 ソリューションはi386 ... Core i7の間のすべてのプロセッサで動作するはずですが、より限定的なソリューションにも興味があります。 コードは32ビットx86で分岐する必要がありますが、x86-64で分岐することはできませんが、条件付きジャンプの使用は必須ではありません(間接ジャンプまたは呼び出しも受け入れられます)。分岐ターゲットアドレスは、コード用のスペース、つまりショートジャンプ(jmp rel8)が収まる少なくとも2バイトのスペースがあるようにする必要があります。 勝利の答えは、マシンコードの中で最も少ないバイトを使用するものです。ファイルヘッダーのバイト(ELF / ELF64など)はカウントされず、分岐後のコードのバイト(テスト目的など)もカウントされません。 回答をASCII、16進バイト、コメントコードとして提示してください。 私のソリューション、39バイト: ASCII: fhotfhatfhitfhutfhotfhatfhitfhut_H3<$t! 16進数:66 68 6F 74 66 68 61 74 66 68 69 74 66 68 75 74 66 …

10
Twitterパーサーを作成する
前書き Twitterを使用します(そうでない場合は仮装します)。ここでは、世界と共有したい個々のツイートごとに140文字に制限されています。フォロワーAbraham LincolnのGettysburg Addressにツイートしたい場合は、メッセージ全体を取り出すためにテキストを複数の140文字のチャンクに分割する必要があります。ただし、これらのチャンクの長さは常に140文字である必要はありません。たとえば、スピーチを17文字のチャンクに分割すると、これらのツイートになります。 4つのスコアとSE VEN YEARS AGO OUR フェザーズブラウト この詐欺について 新たなナチ Lで考えられる (等々) それはまずいです!個々の単語が分割されると、あなたが言おうとしていることを理解することが難しくなる可能性があります。また、twitterverseでは、フォロワーの1人が特定のツイートに出くわし、メッセージにそれ以上のものがあることに気付かない場合があるため、ツイートに番号を付けて作業するコンテキストを持たせます(17文字のチャンクを使用します) ): (1/7)4つのスコアと (2/7)7年前 (3/7)私たちの父 (4/7)BROUGHT FORTH ON (5/7)この大陸A (6/7)新国家 (7/7)に着想... 手動でツイートの最適な構成を手動で把握することもできますが、それが私たちのコンピューターの目的です! チャレンジ 可能な限り短いコードで、ゲティスバーグアドレス(または任意のテキスト、ただしこれは例としてこれに固執します)を140文字以下で構成されるツイートのセットに解析します(この例のテキストはその中の珍しい/異常なビット)。 詳細 関数/プログラム/などは、単一の文字列引数を取り、ツイートごとに1行のテキストを出力する必要があります。 解析の選択方法に関係なく、この入力が解析時に合計99を超えるツイートになることはありません(その選択が課題の他のポイントに適合する限り)。 ツイートには、ツイートの本文の前に「」の形式tweet numberのtotal tweetsインジケーターを含める必要があります(x/y)。 このカウントは、140文字のスペースの一部を占有します! ツイートのチャンクは、改行またはスペースでのみ分割できます。 ハイフン、ピリオド、コンマ、またはその他の句読点は、スペースまたは改行が直前または直後にない限り許可されません。 ツイートは、できるだけ多くの完全な単語で構成する必要があります。 この制約はやや柔軟性があります。たとえば、最終ツイートの単語が1つだけの場合 これはコードゴルフなので、最短のコードが勝ちます。 ゲティスバーグの住所の全文 (コードはまだ渡されたASCII文字列を処理できるはずです。) 4スコアと7年前私たちの父親は、この大陸で自由に考えられ、すべての人が平等に創造されるという提案に専念した新しい国を始めました。今、私たちは、そのような国や国がそのように考えられており、ひたむきに耐えることができるかどうかにかかわらず、大規模な市民戦争テストに従事しています。私たちはその戦争の素晴らしい戦いに出会っています。私たちは、その分野の一部を、その国が生計を立てた生計を立てた人たちのための最終的な休憩場所として捧げるようになりました。それはやはり適切であり、これを行うべきです。しかし、より大きな感覚では、私たちはこの地を捧げることはできません、私たちは黙認することも、放すこともできません。勇敢な男が生きて死んでしまった人は、私たちの貧弱な力を加えたり引いたりすることをはるかに凌ぐことを企てました。世界は、私たちがここで言うことを少しでも覚えていないが、彼らがここで何をしたかを決して忘れることはできないだろう。私たちにとって、生きているラザーは未完成の作品に専念し、ここで誰がここまで進んだのかを知ることができます。これらの名誉ある死から、私たちが最後の完全な献身をもたらすために、これらの名誉ある死からの献身を得るということは、私たちが偉大な仕事に専念することです。死んでしまい、神の下にあるこの国は新たな自由の誕生を持ち、人々のための人々の政府は地球から消滅することはありません。
14 code-golf  string 

4
3Dネットの描画-プラトンの立体
これは、3Dネットの描画がかなり難しいベーシックバージョンです-アルキメデスの立体。 3Dネットには弱点があり、切り取って折り畳むと、紙やカードから3D形状を作成できます。タスクは簡単です。5つのプラトンの立体のネットを描く最短のプログラムを書いてください。出力は、任意の適切な形式(png、jpgなど)の画像ファイルである必要があります。 5つの形状はすべて、http://en.wikipedia.org/wiki/Platonic_solidで説明されています。彼らのネットはこのように見えます(http://www.newscientist.com/gallery/unfolding-the-earth/2から取得)。 入力: 1〜5の整数。形状には、辺の数の順に番号が付けられていると仮定します。したがって、1は四面体、5は二十面体になります。 出力:その形状のネットを含む画像ファイル。内部線を含むアウトラインだけで問題ありません。色で塗りつぶす必要はありません 好きなプログラミング言語と、このコンペティション用に特別に作成されていないライブラリを使用できます。ただし、どちらもオンラインで(両方の意味で)自由に利用できる必要があります。 正確に1週間以内に最小文字数の回答を受け入れます。 勝者。参加者は1人だけですが、素晴らしかったです。勝者は...私が今までで一番好きなコードゴルフの作品であるRaufioです。

3
ユニバーサル(ルール曲げ)コードゴルフソルバー
コードゴルフには常に、挑戦者が当然のことと思っていたり、考えたりルールに記載しなかったりした制約を破ることによって、多少なりともルールを曲げる答えが含まれます。これらの興味深い抜け穴の1つは、より良い結果を得るためにチャレンジが要求するよりも多く出力する可能性です。 これを極端なものにすると、目的の出力を印刷するユニバーサルコードゴルフソルバーを作成できます。古くなり、前後に他の多くのものが出力されることを気にしない場合。 出力する必要があるのは、可能なすべてのサブシーケンスを含むことが保証されているシーケンスだけです。このコードゴルフでは、これはEhrenfeucht-Mycielskiシーケンスになります。 シーケンスは3ビット010で始まります。連続する各数字は、シーケンス内で最も早く出現するシーケンスの最長のサフィックスを見つけ、そのサフィックスの最新の以前の出現に続くビットを補完することによって形成されます。 ビットのすべての有限サブシーケンスは連続して発生し、シーケンス内では無限に頻繁に発生します シーケンスの最初の数桁は次のとおりです。 010011010111000100001111 ...(OEISのシーケンスA038219)。 シーケンスの8ビットを1バイトに結合すると、画面またはファイルに出力でき、すべての可能な有限出力を含むASCII出力が得られます。プログラムはpiの一部、「絶対にあなたをあきらめない」の歌詞、いくつかの素敵なASCIIアート、独自のソースコード、および出力したいその他のすべてを出力します。 正確性をテストするために、シーケンスの最初の256バイトのハッシュを次に示します。 MD5: 5dc589a06e5ca0cd9280a364a456d7a4 SHA-1: 657722ceef206ad22881ceba370d32c0960e267f 16進表記のシーケンスの最初の8バイトは次のとおりです。 4D 71 0F 65 27 46 0B 7C ルール: プログラムは、8ビットをバイト/ ASCII文字に結合して、Ehrenfeucht-Mycielskiシーケンス(他に何も)を出力する必要があります。 最短のプログラム(文字数)が勝ちます。生成されたバイトごとに線形時間でシーケンスを生成する場合は、文字カウントから512を減算します。

9
Postscriptでのゴルフのヒント
人気の低い言語の1つとして、ポストスクリプトハッカーの前衛に関する文献を見つけることは困難です。では、ここでゴルファーは、スタックモデル(またはその他の機能)を活用してPostscript固有の冗長性を克服するためにどのような発見をしましたか?
14 code-golf  tips 

2
Mu Torereの完璧なゲームをプレイする
バックグラウンド Mu Torereは、ヨーロッパの影響を受ける前にニュージーランドのマオリの人々によってプレイされることが知られているたった2つのゲームの1つです。これにより、他のほとんどのゲームとは異なる「客観的な勝利基準」とプレイのルールがあるという点で非常にユニークなゲームになります。 ゲームプレイ: ボードは八角形です。隣接する各頂点間に接続があり、すべての頂点に接続された中央ノードがあります。任意の時点で、9つのノードのうち8つが石で占められています。開始時には、4つの白い石と4つの黒い石があり、それぞれが八角形の半分を占めており、中央のノードは空です。黒が先に動きます。 各ターンで、プレイヤーは自分の石の1つを16のエッジの1つに沿って1つのノードから空のノードに移動できます。石は、相手の石の隣にある場合にのみ、外側のノードから中央のノードに移動できます。 プレーヤーは、石を空のノードに接続するエッジがないときに発生する合法的な移動ができない場合に負けます。 以下は、ルールを説明する(図を使用して)いくつかの分析を提供するWebサイトです。 チャレンジ あなたの課題は、人間の対戦相手に対してMu Torereの完璧なゲームをプレイできる最短のプログラムを書くことです。プログラムは、ゲームボードの表示と更新、移動、および人間の対戦相手からの移動を受信できる必要があります。最も重要なことは、完璧なゲームをプレイすることです。 完璧なゲーム? はい、完璧なゲーム。私はいくつかのゲーム分析を行ってきましたが、両方で完全にプレイした場合、ゲームは無限の時間続くことがわかりました。これは、プログラムが決して失われないことを意味します。また、プログラムは、人間の対戦相手がミスを犯してプログラムに勝つことを許可するたびに、勝つことを強制できる必要があります。あなたのプログラムが完璧な動きを見つける方法に関しては、これはあなた次第です。 詳細 各移動後(およびゲームの開始時)、プログラムはゲームボードを印刷する必要があります。ただし、ボードの表示を選択した場合、すべてのノードが表示され、完全に接続されている必要があります(16本の接続線はすべて、交差線なしで描画する必要があります)。開始時には、ボードの開始位置が正しいはずです。これを達成する1つの方法は、ゲームボードを正方形にすることです。 w-w-w |\|/| b-o-w |/|\| b-b-b 2つの色は黒と白、または暗い/明るいです。ボードは、「b」または「w」でマークするなど、どのノードがどのプレーヤーの駒で占められているか、どのノードが空いているかを示す必要があります。参加者は、ゲームボードをプレーンテキストではなくグラフィカルにすることをお勧めします(ただし必須ではありません)。 ゲームボードには、各ノードに一意の番号を付与する番号システムが必要です。好きなようにボードに番号を付けることもできますが、回答またはプログラムで説明する必要があります。正方形のボードには、次のように番号を付けることができます。 1-2-3 |\|/| 4-5-6 |/|\| 7-8-9 人間が最初に動く。彼の入力は単一の数字になります。これは、移動した石が現在あるノードの番号になります。ノード4から空のノード5に石を移動したい場合は、と入力し4ます。5は唯一の空のノードであるため、暗示されています。 人間は常に合法的な動きをすると仮定します。 人間が移動した後、更新されたボードを印刷する必要があります。プログラムが合法的な動きを決定したら、更新された別のボードを印刷し、人間が別の動きを入力するのを待つ必要があります。 プログラムは勝ったら終了するはずです。 ノート 標準コードのゴルフ規則が適用され、外部ファイルへのアクセスなどは行われません。また、プログラムが各移動を行うための15秒の柔軟な制限時間(妥当なマシン上)を課します。述べたように、このゲームには無限ループを形成する可能性があり、深さ優先の検索が無限ループに入るのは望ましくありません。
14 code-golf  game 

17
キース番号の場合、与えられた番号をテストします
フィボナッチ数とシーケンスは、コードゴルフの人気のあるテーマのように思えるので、キースの数でコードゴルフをするのは楽しいチャレンジになると思いました。 そこで、整数を取り、キース数であるかどうかに応じてtrueまたはfalseを返す関数を作成するという課題を提案します。 キース番号の詳細 レクリエーション数学では、キース数またはレフィギット数(フィボナッチのような数字の繰り返しの略)は、次の整数シーケンスの数です:14、19、28、47、61、75、197、742、1104、1537、2208、 2580、… Numberphileには、キース数の計算方法を説明したビデオがあります。ただし、基本的には数字の数字を使用します。それらを一緒に追加してから、元の番号の最後の桁を取得し、計算の合計に追加して、すすぎ、繰り返します。そして、それを明確にするための例。 14 1 + 4 = 5 4 + 5 = 9 5 + 9 = 14 入力 整数。 出力 番号がキース番号の場合は真。そうでない場合はfalse。
14 code-golf  math  number 

8
ゴルフビンゴをコード化!
あなたが与えられているビンゴボードとコールのリスト。BINGOを印刷する必要があります!ボードがゲームに勝利するとすぐに。 ビンゴボードは次のようになります。 これらは次のように指定されます。 14 29 38 52 74 4 18 33 46 62 7 16 * 60 71 9 27 44 51 67 12 23 35 47 73 ボードのすぐ後に、次のような呼び出しがあります。 B7 I29 G60 G51 O71 I23 I16 N38 勝者となるコール(行、列、または5つの長い対角線をすべて塗りつぶす)の直後まで、コールを標準出力にエコーし、次にprintする必要がありますBINGO!。 上記の例では、次を印刷します。 B7 I29 G60 G51 O71 I23 I16 BINGO! ルール 標準のコードゴルフ規則、最短コードが勝ちます。 詳細 …
14 code-golf 

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

1
コードゴルフ:宇宙船の運命は?[アスキーアート版]
バックグラウンド 遠くの銀河(そして恐らくは宇宙)には、宇宙船とたくさんの惑星がありました。船内の故障により、宇宙船の燃料が不足しました。現在、惑星群の近くで危険なほど遅い速度で動いており、そこから脱出しなければなりません!乗組員の運命はどうなりますか? チャレンジ あなたはUSS StackExchangeのリードプログラマーです。そのため、あなたは、あなたが惑星に土地を衝突させる運命にあるかどうかを明らかにし、惑星系から逃れるか、永遠に軌道にとどまるシミュレータを書くことを望みます。 ただし、宇宙船の爆発は、計算リソースが非常に限られていたことを意味します。プログラムはできるだけ小さくする必要があります。また、これは、実行するシミュレーションを入力する唯一の可能な方法がASCIIアートを使用することであることを意味します。 シミュレーション この多元宇宙の象限では、ASCIIアートに対応するために物理法則がわずかに変更されています。これは、コスモスが細胞に分割されることを意味します。移動はセル単位で記述され、時間は時間ステップ単位で記述されます。 船自体に勢いがあります。船が前のタイムステップでx軸に+2セル、y軸に-1セル((2、-1)と略す)を移動し、重力場がない場合、船は正確に移動します次のタイムステップで同じ速度。 いくつかの惑星があり、そのすべてがそのすぐ周囲の8つのセルに重力場を及ぼし、それが船の速度に影響を与え、船を惑星に近づけます。惑星の「北」になると、フィールドは(-1,0)の力で船を1つのセルから「南」に引き寄せます。ちょうど惑星の「北東」であると、船は1セルを「南」に、1ユニットは「-1、-1」の力で「西」に引っ張られます。 重力場は、重力でセルを離れるときに、船の運動量にベクトルを追加します。船が直前に(2、-1)セルを移動し、現在(-1,1)の重力場にいる場合、この次のタイムステップで(1,0)セルを移動します。船が複数の惑星に近接している場合、追加するベクトルが複数あります。 入力 STDINでは、惑星の座標と船の現在の速度を表示する惑星システムのASCIIアート表現を受け取ります。@記号の形で複数の惑星があり、av ^ <>記号の形で1つの宇宙船があります。船のシンボルの選択は、船の現在の速度を示します(重力が追加される前)。たとえば、<は西への1セルの速度を意味し、^は北への1セルの速度を意味します。すべての空のスペースはピリオドで構成され、すべての行が同じ幅になるようにパディングされます。空白行は入力の終わりを表します。入力の例を次に示します。 ................. ...@.@........v.. ......@..@..@@... ..@.............. .......@..@...... ................. 出力 出力はSTDOUTの1つの単語になり、船が重力から逃れるか、土地を惑星に衝突させるか、永久に周回するかがわかります。 重力からの脱出は、船がマップから移動することとして定義されます。船が脱出する場合、プログラムは「エスケープ」という単語を出力する必要があります。 クラッシュランディングとは、船が惑星を直接通過するか、タイムステップ中に同じセルに到達することです。タイムステップごとに船の位置を単純に計算するだけでは不十分であることに注意してください。(5,5)の速度で移動している船は、(1,1)にある惑星に衝突しますが、単純な計算では、そのセルを訪れることはありません。ただし、速度が(5,6)の船は、陸地を惑星に衝突させません。宇宙船がcrash落した場合、プログラムは「クラッシュ」という単語を出力する必要があります。 周回は検出が最も難しい場合があります。宇宙船が同じセルを2回、同じ速度で訪れるたびに、周回が行われます。船が周回する場合、「orbit」という単語を印刷する必要があります。 上記の例の出力は次のとおりです。 escape 説明 上記の例の各タイムステップで宇宙船が移動した場所を示すマップを次に示します。 ^ ................. ...@.@........v.. ....^.@..@..@@... ..@..<.<<<.<.v... .......@..@...... ................. それは南に行き、西に向き、廊下を下り、北に向き、そし​​て重力のせいで、高速で惑星の間を狭く逃げました。 検査のためのより多くのケース ... ^@. ... orbit ........... .>@.@...... .@......@.. ....@...... crash (it crashes …

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