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

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

1
Androidロック画面
イントロ 長いテーブルの端にある会議室に座っています。周りを見てみると、ティムクック、アップルの取締役会、スティーブジョブズの幽霊、ジャックドナギーが見えます。Appleがこの会議を呼び出したのは、Androidのロック画面がどれほどクールであるかを認識しており、それらを1アップにしたいからです。ゴーストスティーブが叫ぶように、部屋の誰もがあなたを見つめます。「助けてくれ、CodeGolf Man!あなたは私の唯一の希望です!」 問題 Androidのロック画面は3 x 3のドットグリッドで、1つのドットから次のドットに指をスワイプしてパスを作成することで接続できます。パスワードは、任意の数のドットを含む可能性のあるパスと見なされ、任意の数のドットを除外します。(実際の電話では、パスは少なくとも4ドットである必要があります。このチャレンジでは、その制限を無視してください。)Appleは、3 x 3グリッドを(M * N)/ 9であるM x Nグリッドに置き換える予定です倍良い! ルール: ゼロドットパスはパスワードではありませんが、1ドットパスはパスワードです パスはそれ自身を横断できます パスは、ドットを含めずにドットを直接越えることはできません ドットは1回しか使用できません ローテーションによって同一のパスは同じパスワードではありません 同一であるが逆の順序のパスは同じパスワードではありません たとえば、1〜9の番号が付けられた3x3グリッドの場合: 1 2 3 4 5 6 7 8 9 有効なパスは次のとおりです。 1 3 7,2,3 1,5,9,2 1,8,6,5,4 4,2,3,5,6,7,8,9 5,9,6,4 そして、いくつかの無効なパスは次のとおりです。 1,3 1,9,5 7,5,4,7 4,6 入力は3つの数字になります。 (M,N,d) ここで、グリッドはM x N、dはパスの長さです 1 …

19
独自のソースコードをレンダリングする「ハッカータイパー」プログラムを作成する
あなたがハッカーのタイパーに慣れていない場合は、参照hackertyper.net。要するに、コメディ効果のために、キーストロークごとにコードベースのチャンクを1つ出力するプログラムです。しかし、hackertyper.netバージョンは実装が非常に簡単です。任意のコードから一度に3文字を出力するだけです。この課題のために、プログラムは独自のソースコードを出力し、キーストロークごとにスペースで区切られたコードチャンクを1つ印刷する必要があります。 詳細 プログラムのファイル名をハードコーディングすることはできません。名前を動的に決定する必要があります。プログラムを実行可能ファイルにコンパイルする場合、標準ファイル拡張子を実行可能ファイルの名前に追加し(Windowsを使用している場合は.exeを除く)、ソースファイルが実行可能ファイルのディレクトリ内にあると想定します。たとえば、C実行可能ファイルの名前が「hacker」の場合、同じディレクトリにある「hacker.c」という名前のファイルからソースコードをプルする必要があります。コンパイルされたプログラムに拡張子がある場合、ソースコードの名前を決定する前に削除する必要があります( "typer.exe"-> "typer.cs")。 プログラムには少なくとも5つのスペースが含まれ、各スペースの間に少なくとも1つの文字が必要です。つまり、このチャレンジの最小サイズは9バイトです。スペースは、プログラムの機能にとって重要である必要はありません。 書式設定(インデント、改行など)は、出力で維持する必要があります。この書式設定は、それを実行するコードまたはその後に続くコードで印刷できます。重要なのは、書式設定が維持されることです。 選択した言語でスペースを実装する他の方法がない限り、5スペース要件を満たすためにコメントを使用しないでください。 編集:スペースの代わりに、またはスペースに加えて、新しい行をチャンク区切りとして使用できます。

2
最終スタンド-ゾンビ大群を倒す
前書き あなたは島に一人でいます。人類の残りは死んでいます(おそらくuser12345のコードのバグが原因です))。ゾンビ海賊大群はあなたの島に到着しました、そして、彼らは無限です。それはお尻を蹴ったりバブルガムをかむ時であり、あなたはすべてバブルガムから出ています。 問題 私たちの最悪のシナリオは、単一の行に2つの整数で説明し、されるmとn。島には、1からの一意の番号が付けられた前post基地がありますm。次nの行はそれぞれ、三つの整数は、含まれているx、yとz、スペースで区切られています。xとyは、2つの前post基地の一意のIDでzあり、それらの間のパスで遭遇するゾンビの数です。 パスを移動すると、z弾薬を失い、zゾンビを殺します。再び同じ道を進むと、残念ながら同じ数のゾンビに遭遇します。すべての前post基地は、パスを移動するたびに+1弾薬を生成します。前post1の弾薬100個で開始します。すべての前Allは弾薬0個で始まります。あなたの弾薬がそのパス上のゾンビの数よりも大きいパスが存在しない場合、あなたはすぐに死に、あなたの弾薬の残りはキルに変換されます。これが最終的な立場です。 特定のシナリオで殺すことができるゾンビの最大数を出力するプログラムを作成します。無限の数のゾンビを殺すことができるなら、単に出力してくださいx。 入力例 5 6 1 2 4 2 3 4 3 1 4 2 4 10 2 5 10 1 1 50 出力例 x 仮定 パスは2つの有効な前post地の間にあります。つまり、1 <= x/ y<=m xとの間のパスがyリストされていない場合、移動できません パスは双方向です 1 << m= 100 1 << n= 500 入力は、stdinを介して提供されるか、ファイルから読み取られるか、プログラムへの唯一の引数として受け入れられ、例の形式に正確に従う必要があります。 プログラムの実行時間は任意に大きくできますが、決定的に有限でなければなりません 文字数が最も少ないコードが勝ちです!
25 code-golf 

13
これは何のROTですか?-ROT-nの復号化
以下に、頻度の高い順に英語のアルファベットの文字を示します。 e t a o i n s h r d l c u m w f g y p b v k j x q z つまりe、最も頻繁に使用される文字でありz、最も一般的ではありません。(ウィキペディアからのデータ。) あなたの課題は、次のようないくつかのROT-n'dテキストを取得することです。 ocdndnvqzmtnzxmzohznnvbzocvodnqzmtnzxpmzviynvaz これは、ROT-21(42の半分)を介して「暗号化」されたテキスト「thisisaverysecretmessage thatvery secure and safe」です。プログラムは、上記の頻度表を使用して、各文字がどれだけ回転したかと元のテキストによって判断できるはずです。 (ROT-nに慣れていない場合は、基本的に各文字をn。でシフトします。たとえば、ROT-2では、a -> c, b -> d, ..., x -> z, y -> a, z -> …

10
マンドリン・クイン
他のすべてのキャラクターを削除できるクインを書いてください...それはまだ有効なクインです。最初の文字から文字を削除するか、2番目の文字から文字を削除するかを指定できます。 スコア基準(ボーナス/ペナリーパーセンテージを合計パーセンテージに加算): 回答は4文字以上である必要があります プログラムは、そう、たとえば、そのソースに少なくとも一つのアルファベットの文字が含まれている必要があり12345!@#$%^&*()失格とされます 使用する言語がチューリング完全でない場合は+ 750%(私はあなたを見ています、HTML!) ソリューションが任意の形式のどこからでもソースを読み取らない場合、-15% -20%(5文字ごとにしかキープできず、クインを形成できる場合) スコアは、最初のプログラムの文字数で測定されます。 例(実際のプログラムではありません): 場合123456789abcdefと13579bdfの両方quinesあり、スコアはまた15であれば、159dまたQUINEであり、最終的なスコアは12です。 これはコードゴルフなので、最低スコアが勝ちます。
25 code-golf  quine 

3
テニスのスコアとコードゴルフの出会い
メルボルンでの2014年の全豪オープンと、ノバクジョコビッチに対するスタニスラスワウリンカの勝利に照らして、私は次のコードゴルフチャレンジを提案します! ワウリンカとジョコビッチは、このCGCの基礎として、再びそれに取り組んでいます。あなたの課題は、1と2で構成される文字列を取得し、テニススコアリングシステムに基づいてテニススコアを決定することです。「1」はワウリンカがポイントを獲得したことを示し、「2」はジョコビッチがポイントを獲得したことを示します。 例のために1211222122111122111、2行の出力を生成します。 Wawrinka 1 - 40 Djokovic 1 - 30 文字列が長ければ長いほど、スコアはゲーム内でより遠くなります。 ルール: 最短のコードが勝ち、純粋でシンプル。 表示されるスコアは、右揃えであり、列揃えである必要があります。例えば 出力のサンプル調整: Wawrinka 7 5 3 - 0 Djokovic 6 7 4 - 15 ゲームが進行中の場合、スコアは設定されたスコアの後に表示される必要があります。ゲームのスコアは、設定されたスコアの後にスペースとダッシュとスペースの区切り記号を付ける必要があります。これが最初のゲームである場合、0-0セットのスコアが表示されなければなりません。 Wawrinka 0 - 0 Djokovic 0 - 15 ゲームは、0、15、30、40、およびゲームポイントの順に進みます。ゲームが40〜40に達した場合、デュースが宣言され、スコアはプレーヤーの行にポイントを獲得してデュースを表示する必要があります。 Wawrinka 7 5 3 - 40 Djokovic 6 7 4 - 40 …
25 code-golf  game 

9
ボウリングの試合を記録する
あなたの仕事は、最大 21 ロール後に10ピンボウリングのゲームで1人のプレーヤーのスコアを合計して出力することです。 ロールは、好みの入力方法で整数のシーケンスとして表されます。各整数は、そのロールでノックダウンされたピンの数に対応しています。 得点 各ラウンドの後、そのラウンドでノックダウンされたピンの数が最終スコアにカウントされます。プレイヤーがラウンドの最初のロールで10個のピンをすべて倒した場合、これはストライクであり、ラウンドは終了します。それ以外の場合、ラウンドはもう1回ロールされます。ラウンドの2番目のロールが残りのすべてのピンをノックダウンした場合、これはスペアです。 ストライクごとに、次の2回のロールでノックダウンされたピンの合計に等しいボーナスがあります。各スペアには、次のロールでノックダウンされたピンの数に等しいボーナスがあります。 10回目および最終ラウンドでは、プレーヤーに追加のロールが許可される場合があります。ストライクの場合、プレーヤーはストライクボーナスを補うためにさらに2つのロールを取得します。予備の場合、プレーヤーはもう1つのロールを取得します。 例 Input: 4 3 8 2 7 1 10 7 3 0 10 2 2 10 10 5 4 Output: 131 Input: 10 10 9 1 7 3 2 7 10 1 9 10 7 1 10 10 10 Output: 183 ルール …
25 code-golf  number  game 

6
メタクインできますか?
他のクインパズル(より具体的には、これ)と同様に、それ自体のソースを生成するプログラムを作成します。 ここに新しい工夫があります:生成されるコードはソースと同一であってはなりません。むしろ、最初のものを作成する別のプログラムを出力する必要があります。 上記に関連する課題は、2つの言語間をジャンプすることで達成されました。これはたった1つの言語で行われると思っていますが、ソースの2つ(またはそれ以上)のバージョンは大きく異なるはずです(以下のルールを参照)。この制約により、単一文字の回答は許可されないため、最終的な提出にはもう少し考えを加える必要があります。 ルール コードは1つの言語でのみ作成する必要があります。(複数の提出物、各言語に1つは完全に受け入れられます。) 異なるコードバージョンは、構文的に明確でなければなりません。つまり、コードの抽象構文ツリーを作成する場合、少なくとも1つのノードが異なる必要があります。 供給ASTは必要ではないだろうが、あなたはあなたのプログラムのそれぞれについて、1を提供するために、傾斜して感じた場合、それは考え判断に役立ちます。 すべての構文が構文的に異なる限り、必要な数の反復を作成できます。(スコアが役立つ場合は、以下を参照してください。) 得点 最終スコアは、すべてのプログラムの平均長さをプログラムの数で割ったものになります。 例1: A(Bのソース)= 50文字 B(Aのソース)= 75文字 最終スコア= 31.25 例2: A(Bのソース)= 50文字 B(Cのソース)= 75文字 C(Aのソース)= 100文字 最終スコア= 25
25 code-golf  quine 

11
piの500桁を計算する
以下のルールを満たし、piの最初の500桁を計算するプログラムを作成します。 長さは500文字未満でなければなりません。 「pi」、「math.pi」、または同様のpi定数を含めることはできません。また、piを計算するライブラリ関数を呼び出すこともできません。 「3」、「1」、「4」の数字を連続して使用することはできません。 最新のコンピューターでは、妥当な時間(1分未満)で実行する必要があります。 最短のプログラムが勝ちます。

30
ドミノ効果を書く
最も少ないUnicode文字を使用して、3つのパラメーターを受け入れる関数を作成します。 ドミノの総数 n影響を受けたドミノ 影響を受けるドミノの倒れる方向(0またはL左、1またはR右) ドミノを倒したら、残りのドミノを同じ方向に倒す必要があります。 あなたは、出力とドミノすべき|スタンディングドミノを表すと\し、/ドミノを表すには、それぞれ左右に倒します。 例 10, 5, 1戻る||||////// 6, 3, 0べきです\\\|||

9
コンソール/ターミナルで「Snake」ゲームを再作成する
ゲームは楽しいです このコードゴルフはとても楽しかったので、他の古典的なゲームの複雑さも似たバージョンを作らなければなりませんでした。Pythonで基本的なSpace Invadersゲームを作成する最短の方法 ただし、今回はクラシックな「Snake」ゲームを再現してみてください。小さなゲームとしてスタートし、常にピースを集めてスコアを上げていきます。ピースを集めると、あなたの「しっぽ」が大きくなり、あなたが作った道を辿ります。目的は、あなた自身の尾や壁に衝突することなく、最も長く続くことです 資格: あなた、あなたが尾を構成するキャラクター、壁、あなたが集めるピースはすべて異なるキャラクターでなければなりません スコア付きのHUDを表示します。収集するピースごとにスコアが1ポイント増加します プレイヤーが自分の尻尾や壁に衝突すると負けます ゲームの開始時はもちろん、ピースが収集された直後にランダムな領域にピースが出現します 一貫性がある限り、ゲームの速度は重要ではありません。 ブロック文字の高さは幅の2倍であるため、「セル」は2x1文字である必要があります。 方向を変更するためのキーはawsd、それぞれ、左、上、下、右である必要があります 開始方向は常に上でなければなりません 壁の端を表示する必要があります。スコアは壁に重なる場合があります 上記の基準を満たす最短のコードが優先されます。創造性のための想像上のボーナスポイント
25 code-golf  game 

30
文字列を小文字に変換(組み込みの小文字関数なし!)
このcode-golfの目標は、ユーザーがASCII文字列(印刷可能なASCII文字のみを含む)を入力できるコードを作成し、プログラムがこの文字列の小文字のバリアントを出力することです。 重要:文字列(または1文字のみ)を小文字(ToLower().NET、strtolower()PHP など)に変換する組み込み関数を使用することはできません!ただし、他のすべての組み込み関数を使用できます。 別の重要な注意:入力文字列には大文字のみが含まれていません。入力文字列は、大文字、小文字、数字、およびその他のASCII印刷可能文字の混合です。 がんばろう!

30
サイコロの結果をASCIIで描く
ASCIIで立方体型のダイスを使ってサイコロを投げた場合のランダムな結果を表示します。 $ dice の結果になるはずです ----- | | | o | | | ----- ----- |o | | | | o| ----- ----- |o | | o | | o| ----- ----- |o o| | | |o o| ----- ----- |o o| | o | |o o| ----- ----- |o o| …

21
ジミーの多様性のシーン
おそらくご存知のように、最近、ジミーの素敵なチャレンジが何度も登場しています 。これらの課題では、最愛の友人のアクロバットスキルに挑戦しました。今、私たちはあなたのために異なる挑戦をしました。今日は、さまざまなタイプのジミーを識別します! 説明 ジミーには、ドワーフ、アクロバット、ボディービルダーの3種類があります。 This is dwarf Jimmy: o This is acrobat Jimmy: /o\ This is bodybuilder Jimmy: /-o-\ これらのジミーはすべて素晴らしい友人であり、彼らはお互いに同じ立場に立っているのが好きです。あなたの仕事は、次のようなジミーのシーンが与えられた場合です: o /o\ o /-o-\/-o-\ o /o\ ライン上のドワーフ、アクロバット、およびボディービルダーの量をそれぞれ出力します。 チャレンジ 上記の例に示すように、Jimmyシーンとして合理的な形式で入力してください。 入力文字列は1行で、オプションで3種類のJimmysとオプションの空白を含める必要があります。 文字列には、必ずしもすべてのジミーの種類または空白が含まれるわけではありません。 文字列にはにない文字は含まれませんo/\ -。 ジミー品種の任意の組み合わせが可能です。これは、同じタイプまたは異なるタイプのジミーが隣り合うことができることを意味します。それを説明する必要があります。 先頭および末尾の空白はオプションであり、決して必要ではありません。プログラムでは、先頭および/または末尾の空白の有無にかかわらず文字列を考慮する必要があります。 文字列には、有効なJimmysと空白のみを含める必要があります。たとえば、---///---は、有効なジミーシーケンスではないため許可されません。 3つの数値を出力します。シーン内のドワーフ、アクロバット、ボディービルダーの数(それぞれの順序で)。 これは、スペースで区切られた整数としてコンソールに出力される場合もあれば、何らかのコンテナ(つまり、配列型)としての関数からの戻り値になる場合もあります。 出力は、どのような形式でも、この規則の上の一番上の箇条書きで述べられているように順序付けする必要があります。 標準のルールと抜け穴が適用されます。 テストケース /-o-\ /-o-\ o/o\ /-o-\ /-o-\ /-o-\ OUTPUT: 1 1 …

27
月に何日?
月のテキスト表現(大文字と小文字を区別しないフルネームまたは3文字の略語)を指定すると、その月の日数を返します。 たとえば、december、DEC、およびdecすべての31を返す必要があります。 2月には28日または29日があります。 入力が正しい形式の1つの月であると想定します。

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