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

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

8
極端なホワイトウォーターカヌー
かなり速いホワイトウォーター川をカヌーでaいでいます。突然、パドルが爆発し、パドルなしで川を急流で急降下する危険な状況に陥ります。幸運なことに、あなたにはまだプログラミングスキルがあるので、急流を乗り切るのを助けるために、カヌーの横にプログラムを彫ることにします。ただし、プログラムを作成するカヌーの側面には表面積があまりないため、プログラムをできるだけ短くする必要があります。 川は8 x 16グリッドとして表すことができます。列にの番号0を付け7、行にの番号0を付け15ます。 y --------15 --------14 --------13 --------12 --------11 --------10 --------9 --------8 --------7 --------6 --------5 --------4 --------3 --------2 --------1 --------0 01234567 x 上:障害物のない完全に穏やかな普通の川。当然、これはあなたがいる川ではありません。 座標(4、0)から開始し、そこから(0,1)岩(oこれらの例ではで表される)に当たるまで、制御不能に川(ベクター)を上昇します。岩にぶつかると、55%の確率で岩を左に移動し(ベクトル(-1,1))、45%の確率で岩を右に移動します(つまりベクトル(1,1))。カヌーが左端または右端の列にある場合、常に中央に向かって移動します。岩がない場合は、まっすぐ上に移動します。 y ----x---15 ----xo--14 -o--x---13 ----x---12 ---ox---11 ---x----10 ---xo---9 ---ox---8 ----xo--7 -----x--6 ----ox--5 -o--x---4 ----x---3 ----xo--2 ----x---1 ----x---0 01234567 上:キャラクターを使用して表された、カヌーが通る可能性のあるルート x 川の地図を指定して、特定の列でカヌーが終了する確率を出力するプログラムを作成します。 プログラムに都合のよい方法(STDIN、コマンドライン引数、raw_input()ファイルからの読み取りなど)で入力を受け入れます。入力の最初の部分は、プログラムが確率を見つける列を表す0〜7の単一の整数です。その後x,yに、石の位置を表す形式のタプルのリストがあります。 例: 入力: 4 …

2
ASCIIボクセルを印刷する
で構成されるキューブを表すバイナリ値の配列を読み取るプログラムを作成するn×n×nn×n×nn\times n \times nn×n×nn×n×nn\times n \times nn3n3n^3個の小さいキューブます。各値は、指定された位置にボクセル(小さな立方体)が存在するかどうかを示します。プログラムは、指定された配列をASCIIグラフィックとして出力する必要があります(つまり、コンソールからの出力またはファイルへの書き込みを意味します)。 例 次の2×2×22×2×22\times 2\times 2配列を考えてみましょう。 [ [[0,0], [1,0]] [[1,1], [1,0]], ] [ [[0,0], [0,0]] [[1,1], [1,1]], ] この場合、出力は次のようになります(ここでは、垂直方向のスペースが少ないコードエディタ/コンソールでの表示ほど良くありません)。 +----+ / /|-+----+ +----+ | /| | | +----+ | | | | | + + + | |/ | | +----+ | |/ +----+ +----+----+ …

19
うるう秒の飛躍!
今日は26回目のうるう秒の機会を示すため、あなたの課題は、今日発生するものだけでなく、これまでに発生したGMTまたはUTCのすべてのうるう秒の日付と時刻を出力することです。 入力 入力はありません。 出力 1972-06-30 23:59:60 1972-12-31 23:59:60 1973-12-31 23:59:60 1974-12-31 23:59:60 1975-12-31 23:59:60 1976-12-31 23:59:60 1977-12-31 23:59:60 1978-12-31 23:59:60 1979-12-31 23:59:60 1981-06-30 23:59:60 1982-06-30 23:59:60 1983-06-30 23:59:60 1985-06-30 23:59:60 1987-12-31 23:59:60 1989-12-31 23:59:60 1990-12-31 23:59:60 1992-06-30 23:59:60 1993-06-30 23:59:60 1994-06-30 23:59:60 1995-12-31 23:59:60 1997-06-30 23:59:60 1998-12-31 23:59:60 2005-12-31 23:59:60 …

5
政府は壁の供給が制限されています
前書き 知識のあるコードゴルファーは、終末の洪水に備えてくれました。危険にさらされている地域は避難し、人口は高地に移動しました。 洪水を過小評価していました(または、@ user12345のコードにバグがあった可能性があります)。いくつかの高地地域は、海面に急速に近づいています。人口密度の高い野営地の生存を確保するために、壁を建てる必要があります。悲しいことに、政府は壁の供給が限られています。 問題 終末シナリオは、1行に2つの数字で記述されnていmます。その行に続くのは、1行ごとの値nをm持つ行で、単一のスペースで区切られています。各値は4文字のうちの1つです。 x通れません。ここには水が流れません。ここに壁を建てることはできません。 -不安定。ここを水が流れることができます。ここに壁を建てることはできません。 .安定。ここを水が流れることができます。ここに壁を建てることができます。 o野営地。ここを水が流れることができます。もしそうなら、誰もが死ぬ。ここに壁を建てることはできません。 エッジが通過できないか、タイルに壁が構築されていない限り、水はマップのすべてのエッジから流れます。野営地を保護するために必要な最小数の壁を出力できるプログラムを作成します。 入力例 6 7 x . . x x x x x . . x - - x x . x x - - x x . o o o - . x . o o o - . x …
28 code-golf 

18
浮遊大群
前書き 雨はやっとおさまった。@ user12345のコードのバグにより、ほとんどの人類がdr死しました。生存者は世界中の群島に散らばっています。無線通信がアップし、人類は再び繁栄する態勢を整えています。理由はまったくありませんが、ゾンビ海賊がプライム子午線に集まり、西に向かって掃引しています。大群はすべてをむさぼり食う。 問題 私たちの終末シナリオは、協力する島のコミュニティのセットを表す1行に5つの整数で記述できます。それらは、西(左端の整数)から東(右端の整数)の順に並べられます。 最東の島から始まり、島民はペアで次の最も近い島に逃げます。奇妙なことに、乗船するペアごとに、そのうち1つだけが旅行を生き延びます。島民はペアで旅行するだけです。奇数の人口は、ゾンビの海賊の大群のふざけた行動に関する最新のラジオの更新を提供するために、唯一の住民を選出します。東のすべての島が移住を完了するか、死ぬまで、住民は旅行を拒否します。人口が最終的な最西端の島に到達すると、旅行は中止されます。 世界の終わりの運用管理者には、各村の最終的な人口を出力できるプログラムが必要です。 入力例 3 8 6 0 2 出力例 8 1 0 1 0 仮定 入力は、stdinを介して提供されるか、任意の名前のファイルから読み取られるか、引数として受け入れられます。 島ごとに、0 <=母集団<= 1024 人口は島を決して飛ばさない 最短回答が勝ちます!
28 code-golf 

12
動きを教えて
ジャックとジェーンは、時間を空けてチェスをすることにしました。残念ながら、ジャックは視覚化がかなり苦手です。もちろん、ポーン以外の特定の駒で可能な動きを把握するのは難しいと思います! あなたの挑戦は、ジャックが特定のピース(ポーン以外)の可能なオプションを見つけるのを助けることです。 忘れてしまった場合、さまざまな部分は次のように示されます。 K:キング Q:クイーン N:ナイト B:ビショップ R:ルーク 一例として、次の画像にナイトに位置しているd4とに移動することができc2、b3、b5、c6、e6、f5、f3、e2。与えられた入力に対して: Nd4 あなたが生成します: Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2 ルール: すべての可能な動きがリストされている限り、出力の順序は関係ありません 可能な移動は、空白、改行、またはその他の区切り文字で区切ることができます 入力は、パラメータとして、または経由でプログラムに渡すことができます STDIN プログラム内の空白はカウントされるので、それを最適に使用してください これはコードゴルフです。(その目的のために特別に設計されたツール/ユーティリティを使用しないでください。)最短の答えが勝ちです!
28 code-golf  chess 

30
ASCIIテーブルを印刷します
タスクは、ASCIIテーブルのn文字を表示することです。 印刷する最後の文字のインデックスとなるパラメーターnを受け取る関数(またはパラメーターとして引数を受け取るプログラム、STDINも使用できます)を作成できます。 タスクは非常に単純なので、例として、Python 2.7で可能な実装を示します。 (lambda n:map(chr, range(n)))(256) 私が言ったように、それは簡単な仕事です。これがコードゴルフであり、最短のコードが勝ちです! 編集 一部の人が指摘したように、このコードは結果を出力しません。私は英語で問題を説明するのに苦労するかもしれないので、それは単なる例です;-)。 EDIT2 最短のコードでなくても、プログラミング言語で回答を投稿してください。興味深い実装がいくつかあるかもしれません! EDIT3 結果を出力するように例を修正しました。
28 code-golf 

12
***風景***
目的:美しい(?)ASCIIアートの風景とスカイラインを生成するプログラムを作成します。 プログラムの入力は1つだけ0123456789abcです。charsの任意の組み合わせ/繰り返しで構成される文字列です。 入力文字ごとに、次のように構成された垂直線を出力します。 . .. ... oooo ooooo OOOOOO OOOOOOO XXXXXXXX XXXXXXXXX XXXXXXXXXX 0123456789 abc代わりに、文字の後に1つの数字nが続き、下部にそれぞれ1,2または3つの穴(スペース)を持つ垂直線nを描画します。 例 クライスラービル 入力:2479742 . . ... ooo ooo OOOOO OOOOO XXXXXXX XXXXXXX XXXXXXX タージマハル 入力:0804023324554233204080 . . . . o o o oo o O O OOOO O O O O OO OOOO OO O …

29
お気に入りのフレーズをプログラムする
など、正確に5語の長さの引用またはフレーズを選択しますProgramming puzzles and code golf!。 n回追加されたときに、フレーズの最初のn + 1ワードを順番に出力するプログラムを作成します。 たとえば、プログラムコードがMYPROGあり、フレーズがであったProgramming puzzles and code golf!場合、実行しています... MYPROG 出力する必要があります Programming MYPROGMYPROG 出力する必要があります Programming puzzles MYPROGMYPROGMYPROG 出力する必要があります Programming puzzles and MYPROGMYPROGMYPROGMYPROG 出力する必要があります Programming puzzles and code MYPROGMYPROGMYPROGMYPROGMYPROG 出力する必要があります Programming puzzles and code golf! 4回を超える追加は未定義で、プログラムは何でもできます。 ルール フレーズは文法的に意味のある英語でなければなりません。大文字と句読点を適切に大文字にすることが理想的です。 フレーズの長さは任意ですが、http://www.shannonentropy.netmark.pl/で計算されるエントロピーは3.5未満ではない場合があります。 (フレーズを貼り付け、[ 計算]をクリックして最後のH(X)を探します。) フレーズには、印刷可能なASCII文字(16進数20〜7E)のみを含めることができます。コードには、印刷可能なASCIIとタブと改行のみを含めることができます。 フレーズには、正確に5つの一意の単語と4つのスペースが含まれている必要があります。すべての非スペースは単語の一部としてカウントされます。スペースは単語の境界です。それらは先頭または末尾ではない場合があります。結局、最後の単語以外は1つあるはずです。 出力には、単語間のスペースも1つ含める必要があります。各追加ステップの出力には、末尾のスペースは含まれますが、先頭のスペースは含まれません。 stdoutへの出力。入力はありません。 得点 スコアは、最初に追加されなかったプログラムのバイト単位の長さです。(例:MYPROGスコア6) …

12
ワームの寿命
条項 ワームは、非負の整数のいずれかのリストであり、その右端の(すなわち、最後の)要素が呼ばれているヘッド。headが0でない場合、ワームは、headを含む要素の最も長い連続したブロックで構成されるアクティブなセグメントを持ち、すべての要素は少なくともheadと同じ大きさです。減少活性セグメントはたとえば1だけデクリメントヘッドとアクティブなセグメントであり、ワームが3 1 2 3 2アクティブなセグメントを有し2 3 2、縮小アクティブセグメントです2 3 1。 進化のルール ワームは、次のように段階的に進化します。 ステップt(= 1、2、3、...)で 、ヘッドが0の場合:ヘッドを削除する else:アクティブセグメントを、縮小されたアクティブセグメントのt + 1連結コピーで置き換える。 事実:ワームは最終的に空のリストに進化し、そのためのステップ数はワームの存続期間です。 (詳細はThe Worm Principle、LD Beklemishevの論文に記載されています。有限リストを意味する「リスト」、およびその最後の要素を意味する「頭」の使用法は、この論文から引用されています。リストの一般的な使用法は抽象データ型であり、通常headは最初の要素を意味します。) 例(括弧内のアクティブなセグメント) ワーム:0,1 step worm 0(1) 1 0 0 0 2 0 0 3 0 4 <- lifetime = 4 ワーム:1,0 step worm 1 0 1 (1) 2 …

29
最小コードCPUストレステスター…
前書き 高いCPU負荷を発生させてプロセッサのストレステストを行うことができるユーティリティがたくさんあります。Microsoft Windowsでは、オンボードを使用して、などのcalculator.exe大きな数字を入力し、数回999999999押すとn!CPUが時間外に動作するようになります。 しかし、自分で作成しなかった場合、ソリューションには何が含まれますか? 使命 あなたの使命-あなたがそれを受け入れることを選んだ場合-は、地球上で最小のCPUストレステストツールを作成することです。 マスト… 中止されるまで100%のCPU負荷を生成する必要があります ストレステストを実行する秒数を表す数値入力を取得する必要があります ユーザーがストレステストを中止したり、プログラムを終了したりできるようにする必要があるユーザーインタラクション(キーを押す、ターミナルウィンドウを閉じるなど)を許可する必要があります。 Microsoft Windows、Mac OSx、Linuxをターゲットにする必要があります。 (ハムスターでもComodore64にストレスをかける可能性があります。したがって、現在のオペレーティングシステムをターゲットにする必要があります。) してはいけません… 期待される機能を置き換えるサードパーティのプログラムまたはツールを使用しないでください。 (提案をsystem('cpuStressThing.exe')失格のようなショートカットを提案すると。) 5月… できる生成する任意のアプローチ/アルゴリズム/機能を使用して、100%のCPU負荷を予想 できる任意のプログラミングまたはスクリプト言語を使用する (それを実行してその機能の実用的な検証を可能にする長いほど) 勝利条件 可能な限り最小のソースコードを提示してください。勝者は、上記の「必須」および「必須ではない」条件に準拠する最も小さな(サイズの)ソースコードを提示するものです。さあ、その赤ちゃんを燃やして… 編集 質問はコメントエリアで出されたので…1 CPUコアのみをターゲットにする必要があります。マルチコアソリューションの作成を期待しているわけではありません。結局のところ、これは楽しいはずです-動作しません。
28 code-golf 

8
最短コードでポン
挑戦は簡単です。pong http://en.wikipedia.org/wiki/Pongの古典的な2人用ゲームを再現するために、可能な限り最短のコードを提供します。グラフィックと機能のレベルは、このjavascriptデモンストレーションhttp://codeincomplete.com/posts/2011/5/14/javascript_pong/demo.htmlに可能な限り近い必要があります(ただし、左側にある追加オプションなしでクリックできます)または、右下のフレーム、fpsなどの情報)。 いつものように、コードは(両方の意味で)自由言語で書かれていなければならず、Linuxで実行可能でなければなりません。また、使用するライブラリはすべて無料で、簡単に入手でき、このコンペティションの目的で作成されてはなりません(また、Pongの作業バージョンがまだ含まれていない必要があります!)。

30
1年で13日の金曜日はいくつですか?
あなたの挑戦は、1年を与えられて「金曜日13日」の数を出力するプログラムを書くことです。 ルールと詳細: を介してSTDIN、またはプログラムに渡される引数として入力を受け取ることができます。 結果をに出力する必要がありますSTDOUT。 入力は有効な年であり、グレゴリオ暦より前の日付ではないと想定できます(これらの場合、未定義の動作は許可されます)。 カレンダー/日付ライブラリが許可されています。 これはcode-golfであるため、最短のコード(バイト単位)が優先されます。 (関連チャレンジリンク)
28 code-golf  date 

7
クリベッジハンドを獲得する
この課題は、クリベッジのハンドを獲得することです。Cribbageをプレイしていない場合は、学習する必要があります。標準的なポーカーデッキでプレイし、ハンドは4枚のカードと「アップカード」で構成されます。ハンドには、通常のハンドと「クリブハンド」の2種類があります。 カードがフォーマットで来る:の一つである(10用T)との1です。手は次の形式で与えられます(例)vsvA23456789TJQKsSCDH AS 2D 3H JS | 4S 4Sアップカードはどこですか。ベビーベッドの手は次の形式になります JD 3C 4H 5H | 5S ! フェイスカードの値は10で、エースの値は1です。スコアリングは次のように実行されます。 15:合計が15である5枚のカードの各サブセットに対して、2ポイントを追加します。 ペア:同じランク(価値ではない)のカードのペアごとに、2ポイントを追加します。 ラン:長さが2を超える連続したカードの最大ランごとに、ランの長さをポイントで追加します。 フラッシュ:5枚すべてのカードが同じスーツの場合、5ポイントを加算します。それ以外の場合、アップカード以外のすべてが同じスーツである場合、4ポイントを追加します。これがベビーハンドの場合、4ポイントバリアントはカウントされません。 ノブ:同じスーツのアップカードを持つジャックが手にある場合は、1ポイント追加します。 ノート: トリプルとフォースは特別ではありません。トリプルには3つのペアがあるため、トリプルは6ポイントの価値があります。 実行は重複する可能性があります。たとえば、AS AH 2D 3C | 2C(ダブルダブルラン)には、長さ3の4つのランと2つのペアがあるため、3 + 3 + 3 + 3 + 2 + 2 = 16ポイントの価値があります。 最大の実行のみがカウントされKS QD JD TC | 9Sます。5の実行であるため、5ポイントの価値があります。サブ実行はカウントされません。 ハウスルール: ハンドで19ポイントを獲得することは不可能です。ゼロの代わりに、19のスコアを報告します。 …
28 code-golf  game 

6
ゴルフのための言語の選択[終了]
ゴルフに適した言語を選択するためのヒントは何ですか?選択する言語に影響する要因は何ですか? 問題タイプの例を次に示します。 I / Oソリューションを必要とする問題、コンソールまたはファイル 解析が必要な問題 ソリューションを関数定義として記述する必要がある問題 数学の問題 素数を扱う問題 数のパズルを解く 数値的手法の実行 文字列処理 配列処理 トリッキーな2Dアレイの問題 計算幾何学 再帰 2Dグラフィックス 3Dグラフィックス オーディオ ネットワーキング/ウェブ 並列処理 「GolfScript | Jを使用する」のようなことを言うのは好きではないからです。
28 code-golf  tips 

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