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

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

21
最後に日付がnで割り切れたのはいつですか?
日付は、YYYYMMDDなどの符号なし整数で表すことができます。必要なことは、指定された数値n(今日の日付を含む)で割り切れる最新の日付を計算し、その日付を上記の形式で返す最短のプログラムまたは関数を作成することです。指定した整数で割り切れる日付(00000101から今日まで)が一度もなかった場合は、-1を返す必要があります。 例 Current Date Input Output 30 July, 2014 4 20140728 30 July, 2014 7 20140729 28 July, 2014 4 20140728 28 July, 2014 7 20140722 28 July, 5 90000 -1 入力 STDINから読み取るか、関数の引数を取るか、入力が変数に格納されることを期待することもできます。入力は符号なし整数になります。 出力 日付を表す整数をYYYYMMDD形式で返すか、STDOUTに書き込むか、変数に保存します。 制限事項 言語が提供する標準ライブラリを使用できます。標準の抜け穴が適用されます。 勝利条件 これはcode-golfなので、最小のプログラム(バイト単位)が勝ちます。同点の場合は、投票数が最も多い答えが勝ちです。
24 code-golf  date 

3
猫の情報を隠す
あなたはあなたの祖国と通信しようとしている秘密のエージェントです。もちろん、情報を隠して、だれもメッセージを落とさないようにする必要があります。猫よりも適しているものは何ですか?誰もが猫の面白い写真を愛している[要出典]ので、彼らはそこに隠れている秘密の情報を疑うことはありません! ゲームのモナコが共有レベルのレベル情報を保存するために使用するアルゴリズムに触発され、画像の色の最下位ビットに情報をエンコードするプログラムを作成するのはあなたのタスクです。 エンコード形式: 最初の24ビットは、残りのエンコードされたバイト文字列の長さをビット単位で決定します 画像は左から右、上から下に読み取られ、明らかに左上のピクセルから始まります。 チャンネルは赤から緑、青に読み取られます 各チャネルの最下位ビットが読み取られます ビットはビッグエンディアン順に保存されます ルール: プログラムは、エンコードされる単一のバイト文字列と、ベースイメージの単一のイメージファイル名を受け取ります 結果の画像はトゥルーカラーPNGファイルとして出力される必要があります プログラムの使用方法を述べる限り、好きな形式(ARGV、STDIN、STDOUT、ファイルの書き込み/読み取り)でI / Oを使用できます。 面白い猫のランダムな画像を選択し、プログラムをエンコードして、プログラムが機能することを示す必要があります 有効な入力のみが提供され、ビットの量が十分でない場合、画像がトゥルーカラー形式ではない場合、画像が存在しない場合、または同様の問題が発生する場合があります 提供された画像にはアルファチャンネルが含まれていないと想定できます 長さはBOMなしのUTF-8バイトでカウントされます このPHPスクリプトを使用してソリューションをテストし、PNGファイルの名前を最初のコマンドライン引数として指定できます。 <?php if ($argc === 1) die('Provide the filename of the PNG to read from'); $imageSize = @getimagesize($argv[1]); if ($imageSize === false) die('Not a PNG file'); list($width, $height) = $imageSize; $image = …

6
最も近い分数
仕事: あなたのプログラムには、形式で適切で正の単純分数が与えられます<numerator>/<denominator>。 この入力では、2つの分数を見つける必要があります。 入力より少ない分数。 入力より大きい分数。 両方の分数は、入力よりも低い分母を持つ必要があります。可能なすべての小数のうち、入力との差が最も小さいはずです。 出力: プログラムの出力は次のとおりである必要があります。 入力よりも小さい、形式の分数<numerator>/<denominator>。 空白文字(ASCIIコード32)が続きます。 次の形式で、入力より大きい分数が続きます<numerator>/<denominator>。 次のように: «fraction that is < input» «fraction that is > input» ルール: 出力されるすべての小数部は最低条件でなければなりません。 出力されるすべての分数は適切な分数でなければなりません。 ルールで許可されている適切な分数がない場合0は、分数<入力では1なく、分数>入力ではなく出力する必要があります。 分数をコマンドライン引数として受け取るかどうかを選択できます(例: yourprogram.exe 2/5、ユーザー入力のプロンプトを表示。 あなたのプログラムが無効な入力を受け取らないと仮定するかもしれません。 最短のコード(バイト単位、任意の言語)が優先されます。 非標準のコマンドライン引数(通常、スクリプトの実行に必要ではない引数)は、合計文字数にカウントされます。 あなたのプログラムがしてはいけないこと: 外部リソースに依存します。 特定のファイル名を持つことに依存します。 必要な出力以外を出力します。 実行に非常に長い時間がかかります。プログラムが6桁の分子と分母を持つ分数で1分以上実行される場合(例:179565/987657平均的なホームユーザーのコンピューターで、それは無効です。 0分母として分数を出力します。ゼロで割ることはできません。 0分子として分数を出力します。プログラム0は、分数ではなく出力する必要があります。 入力した分数を減らします。入力として指定された分数が還元可能な場合、入力された分数を使用する必要があります。 あなたのプログラムは、このチャレンジが投稿される前に公的に利用可能なコンパイラ/インタプリタが存在しなかったプログラミング言語で書かれていてはなりません。 例: 入力: 2/5 出力: 1/3 1/2 入力: 1/2 出力: …

8
ノノグラムパズルを作成する
お絵かきロジックはこのような何か(ゲームのスクリーンショットに見える2次元のロジックパズルですPixelo、私のお気に入りのお絵かきロジックゲーム): ゲームの目的は、これらの数字がエンコードしている画像を把握することです。ルールは単純です。列または行の数字は、その列または行のどこか、多くのボックスが行で埋められることを意味します。たとえば、上の画像の一番下の行にはボックスを埋めてはならず、その上の行にはすべてのボックスを埋めておく必要があります。下から3番目の行には8つの塗りつぶされたボックスがあり、それらはすべて1列になります。 同じ列または行に2つ以上の数字がある場合は、塗りつぶされたボックスが複数の「実行」されており、それらの間に少なくとも1つのスペースがあり、それらの長さがあります。順序は保持されます。たとえば、上の画像の一番右の列には3つの塗りつぶされたボックスがあり、それらの下に少なくとも1つのスペースがあり、さらにもう1つの塗りつぶされたボックスがあります。 ほぼ完成した同じパズルを次に示します。 (Xは重要ではなく、プレイヤーが「このマスは間違いなく塗りつぶされていません」と言うためのヒントです。マインスイーパでフラグを考えてください。ルールの意味はありません。) たとえば、「2 2」というヒントのある中央の列には、2つの長さの塗りつぶされたボックスが2つあることがわかります。 あなたがそれを受け入れることを選択した場合、あなたの使命は、このようなパズルを作成するプログラムまたは機能を書くことです。ボードのサイズは、stdinの単一の整数(5 <= n <= 50)または引数として与えられます(ノノグラムパズルを正方形にする必要はありませんが、この課題ではそうなります)。その後、画像内の塗りつぶされた正方形と塗りつぶされていない正方形をそれぞれ表す一連の1と0が与えられます。最初のnは上の行、次の行などです。2* 1セルのボードを標準出力に戻すか、印刷します(見栄えがよく、列に2桁のヒントを表示できるためです) )、それらはすべて空で、入力データに対応するヒントがあります。 出力フォーマット サンプル 入力: ./nonogram <<< '5 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0' OR n(5,[0,1,1,1,0,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,0,1,1,1,0]) 画像: 出力: 1 …
24 code-golf 

1
多項式の実根を見つける
多項式と境界が与えられたときに、その多項式のすべての実根を、境界を超えない絶対誤差まで見つける自己完結型プログラムを作成します。 制約 Mathematicaとおそらく他のいくつかの言語には1シンボルのソリューションがあり、それはつまらないことを知っているので、基本的な操作(加算、減算、乗算、除算)に固執する必要があります。 入力および出力形式には一定の柔軟性があります。任意の妥当な形式で、stdinまたはコマンドライン引数を介して入力を受け取ることができます。浮動小数点を許可するか、有理数の表現を使用する必要がある場合があります。バウンドまたはバウンドの逆数を取ることができ、浮動小数点を使用している場合は、バウンドが2 ulp未満ではないと想定できます。多項式は、単項係数のリストとして表現する必要がありますが、ビッグエンディアンまたはリトルエンディアンの可能性があります。 プログラムが常に機能する理由を正当化できる必要があります(モジュロ数値の問題)。ただし、完全な証明をインラインで提供する必要はありません。 プログラムは、根が繰り返される多項式を処理する必要があります。 例 x^2 - 2 = 0 (error bound 0.01) 入力は例えば -2 0 1 0.01 100 1 0 -2 1/100 ; x^2-2 出力は例えば -1.41 1.42 だがしかし -1.40 1.40 約0.014の絶対誤差があるため... テストケース シンプル: x^2 - 2 = 0 (error bound 0.01) x^4 + 0.81 x^2 - …

6
ゆるい鳥のクローン:)
誰もが、その愚かな「ゆるい鳥」ゲームが削除されることを恐れています。だから、あなたの仕事はゆるい鳥クローンゲームを作成することです。本当に簡単です。ガイドラインは次のとおりです。 ASCIIアートまたは実際の画像を使用できます クリックまたはキーを押すことで、「鳥」フラップを作成できます。 できるだけ短くするようにしてください。そのため、code-golfタグです。 以下に例を示します。http://www.reddit.com/r/learnprogramming/comments/1xiimx/i_couldnt_sleep_so_i_cloned_your_flappy_bird/ 「Flappy Bird Clone」になるには、ゲームに次のものが必要です。 鳥、または他のキャラクター キーを押すか、クリック/タップすると、「鳥」が少し上に移動します。 クリック/タップなどがない場合、「鳥」は急速に下に移動します パイプまたはその他の障害物は画面上で左に移動し、鳥が動いているように見えるはずです パイプには、鳥が飛ぶための小さな隙間が必要です。 パイプ間のギャップを通過するたびに、スコアが1ずつ増加します。 パイプまたは地面にぶつかると、ゲームが終了し、スコアが表示されます。 本当に「鳥」や「パイプ」である必要はなく、すべてアスキーにすることができます。ゆるい鳥の画面の非常に最小限の例を次に示します。 / ----- [4] ----- \ | || || | | || ¯¯| | || O> | | ¯¯__ | | __ || | | || || | \ ------------- /
24 code-golf  game 

4
ボロノイ図を作成する(ASCIIバリアント)
空白のセルの長方形配列に散在するいくつかの明確な大文字が与えられたとします。配列内の各セルは、それに最も近い文字に属し、最小数の水平および/または垂直ステップで到達可能な文字として定義され、斜めのステップはありません。(セルが2つ以上の最も近い文字から等距離にある場合、それらはアルファベット順で最初の文字に属します。大文字のセルはその文字に属します。)境界-セルは水平または垂直のセルです。自身が属する文字に属さない1つ以上のセルに隣接している。 次の動作を持つプロシージャサブプログラムを作成して、一種のボロノイ図を作成します... 入力:ドット、大文字、改行のみで構成されるASCII文字列。印刷すると、上記のような長方形の配列が表示され、ドットは空白として機能します。 出力:各空白境界セルが属する文字の小文字バージョンで置き換えられた入力文字列の印刷。(サブプログラムが印刷を行います。) 例1 入力: ......B.. ......... ...A..... ......... .......D. ......... .C....... .....E... ......... 出力: ...ab.B.. ....ab.bb ...A.abdd aa...ad.. cca.ad.D. ..caeed.. .C.ce.edd ..ce.E.ee ..ce..... 境界を強調するスケッチ: 例2 入力: ............................U........... ......T................................. ........................................ .....................G.................. ..R.......S..........F.D.E............I. .........................H.............. .....YW.Z............................... ......X................................. ........................................ ........................................ ......MN...........V.................... ......PQ................................ ........................................ .............L...............J.......... ........................................ ........................................ ....C...........K....................... ........................................ ..................................A..... ...........B............................ 出力: ..rt.....ts...sg......gduu..U.....ui.... …

3
6移動以内で首謀者を解く
あなたの目標は、6つ以下の動きで首謀者のパズルを解決するプログラムを書くことです。 バックグラウンド 首謀者はボードゲームです。ゲームの目標は、他のプレイヤーが隠している4色のペグの組み合わせ(色と順序)を正確に推測することです。推測が行われると、他のプレーヤーは0〜4個の白または赤のペグで応答します。赤いペグは、色と場所が正しい場所です。白いペグは、残りの部分で色が表されている場所ですが、間違った場所にあります。推測に重複する色がある場合、秘密の対応する色ごとに1つのペグしか付与されません。(つまり、シークレットに1つのブルーが含まれていて、推測に2つのブルーがあり、1つが正しい場所にある場合、1つの赤いペグが与えられます)。6つの異なる色があり、複製を使用できます。 したがって、たとえば、ゲームは次のようになります(ソリューションがRed Green Green Blueであると想定) 1: Blue Purple Black Green - 2 white pegs 2: Green Red Black Blue - 2 white pegs, 1 red peg 3: Green Green Green Blue - 3 red pegs 4: Red Green Green Blue - 4 red pegs ルールはウィキペディアで拡張されています 必要条件 プログラムはstdinから読み取り、stdoutに書き込む必要があります 色の代わりに簡単にするために数字を使用します。推測する組み合わせは、1〜6の4つの数字になります。 …
24 code-golf 

30
3秒後に終了するHello World GUIプログラムを作成します
ルールと太字部分もお読みください。 ウィンドウシステム用のGUIサポートがある限り、任意の言語でプログラムを作成します(テキストコンソールなどは使用できず、GUI /ツールキット/ウィンドウである必要があります)。 GUI準拠のウィンドウが表示され、このテキストが3秒間表示される限り、プログラムは任意の方法(スプラッシュイメージ、メニューバー、ステータスバー、タイトル、ビデオ、メッセージボックス、その他のウィジェットのものなど)でHello Worldを言う必要があります。使用されるコードの最小量(バイト単位)でこれをコーディングできる人がケーキを受け取ります。

8
Wireworldセルラーオートマトンのシミュレーション
Wireworldは、ワイヤを流れる電子に似るように設計されたセルオートマトンです。そのシンプルなメカニズムにより、デジタル回路を構築できます。それはコンピュータ全体の構築さえ許可しました。 あなたの使命は、選択した言語で最短のWireworld実装を作成することです。 グリッド内の各セルには、4つの状態のうち1つがあります。4つの状態は、「ブランク」、「銅」、「電子ヘッド」、または「電子テール」です。 空白のセルは常に空白のセルのままです 電子ヘッドは常に電子テールになります 電子の尾は常に銅になります 銅のセルは、8つの隣接セルのうち1つまたは2つが電子ヘッドである場合に限り、電子ヘッドになります。 このコンペティションは、Shortest Game of Lifeコンペティションと同様のスタイルを持ちますが、いくつかの変更があります。 グリッドは少なくとも40 x 40セルでなければなりません グリッドのエッジは、(トーラスではなく)ラップアラウンドしてはいけません。フィールドの外側のセルを常に「空白」として扱います。 ユーザーが独自の開始構成を入力できる必要があります。 空白の画面を見つめるのは楽しいことではありません。プログラムは、実行中のシミュレーションを視覚的に表示する必要があります。 これはコードゴルフで、最少バイトが勝ちます。

12
Scalaでのゴルフのヒント
Scalaでゴルフをするための一般的なヒントは何ですか?私は、少なくともScalaに特有のゴルフ問題全般のコーディングに適用できるアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。回答ごとに1つのヒントを投稿してください。 (これはPythonの...の恥知らずなコピーです)
24 code-golf  tips 

8
ギターのタブを生成しますか?
入力として指定されたコードのギタータブを生成する最短のプログラムを作成します。 あなたの中のギタリストが利点を持たないように、そしてそれを決定論的(そしておそらくコーディングをより簡単にする)にするために、ここに承認された和音の唯一の形式があります: Major chords: E F F# G G# A A# B C C# D D# e 0---1---2---3---4---0---1---2---3---4---5---6--- B 0---1---2---3---4---2---3---4---5---6---7---8--- G 1---2---3---4---5---2---3---4---5---6---7---8--- D 2---3---4---5---6---2---3---4---5---6---7---8--- A 2---3---4---5---6---0---1---2---3---4---5---6--- E 0---1---2---3---4---0---1---2---3---4---5---6--- Minor chords: Em Fm F#m Gm G#m Am A#m Bm Cm C#m Dm D#m e 0---1---2---3---4---0---1---2---3---4---5---6--- B 0---1---2---3---4---1---2---3---4---5---6---7--- G 0---1---2---3---4---2---3---4---5---6---7---8--- D 2---3---4---5---6---2---3---4---5---6---7---8--- …

3
ニュートンフラクタルを生成する
あなたは皆、関数の根を近似するニュートン法を知っていますよね?このタスクの私の目標は、このアルゴリズムの興味深い側面を紹介することです。 ニュートンのアルゴリズムは、特定の、しかしほとんどすべての複雑な入力値に対してのみ収束します。複素平面上のすべての入力値に対するメソッドの収束を想像すると、通常、次のような美しいフラクタルが得られます。 ウィキメディアコモンズの画像 仕様書 このタスクの目標は、そのようなフラクタルを生成することです。つまり、入力として多項式を取得し、対応するフラクタルを出力として選択した形式の画像として印刷する必要があります。 入力 入力は、空白で区切られた複素数のリストです。これらは<Real part><iImaginary part>、この番号のようにスタイルで書き留められています5.32i3.05。入力番号の小数点以下の桁数は4以下で、1000より小さいと想定できます。最初の数値はゼロであってはなりません。たとえば、これはプログラムへの入力になります。 1-2i7.5 23.0004i-3.8 i12 0 5.1233i0.1 数値は、多項式の係数として解釈され、最高のパワーから始まります。この仕様の残りの部分では、入力多項式はPと呼ばれます。上記の入力は、この多項式に等しくなります。 f(x)= x 5 +(-2 + 7.5 i)x 4 +(23.0004-3.8 i)x 3 + 12 i x 2 + 5.1233 + 0.1 i 入力は、stdin、プログラムに渡された引数、またはプログラムに表示されるプロンプトのいずれかから送られます。入力に先頭または末尾の空白文字が含まれていないと想定できます。 レンダリング 次の方法でフラクタルをレンダリングする必要があります。 Pの根と同じ数の色と発散のための追加の色を選択します 可視面の各数値について、メソッドが収束するかどうか、および収束する場合はどのルートに到達するかを決定します。結果に応じてポイントに色を付けます。 定規などの派手なものを印刷しないでください 方向の多項式の根である点に黒い点を印刷します。各ルートの周囲に最大4ピクセルを印刷できます。 可能であれば、すべてのルートが識別可能であり、広範囲に広がるように、可視プレーンを選択する方法を見つけます。出力フレームを完全に配置する必要はありませんが、許容できない方法でフレームを選択する回答を受け入れることを拒否する権利を留保します。常に同じ座標で、すべてのルートが1つのポイントにあるなど。 出力画像のサイズは1024 * 1024ピクセルにする必要があります。 レンダリング時間は最大10分です 単精度浮動小数点値を使用するだけで十分です 出力 …

22
コードゴルフ:6174-カプレカーの神話上の定数
この質問は、Code Golf Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 なぜ6174という数字がとても面白いのですか?以下のように定義ウィキペディアで 少なくとも2桁の数字を使用して、4桁の数字を入力します。(先行ゼロは許可されます。) 必要に応じて先行ゼロを追加して、2つの4桁の数字を取得するために、数字を昇順および降順で並べます。 大きい数字から小さい数字を引きます。 手順2に戻ります。 Kaprekarのルーチンとして知られる上記のプロセスは、最大7回の反復で常に6174に達します。6174に達すると、プロセスはそれを譲り続けます。 所定の4桁の数字(上記の定義を参照)に対してKaprekarのルーチンを実行するプログラムを作成し、ルーチンの各ステップを印刷します。 ルール: 提出は完全なプログラムでなければなりません。 入力は標準入力から読み取る必要があります。エコーからの配管は問題ありません。 入力は数値形式でなければなりません。 先行ゼロを印刷する必要があります。(以下の例を参照してください。) 最後の行には、必要な反復回数が記載されている必要があります。句読点が必要です。 例: > 2607 7620 - 0267 = 7353 7533 - 3357 = 4176 7641 - 1467 = 6174 Iterations: 3. > 1211 2111 - 1112 = 0999 9990 - 0999 …


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