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

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

5
数独パズルに配置できるすべてのマークを取得する[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 数独パズルを考えて、各空のセルに記入できるすべての可能なマークを見つけます。 テストケース 入力: [ [ // Top left: [ 0, 0, 0, 3, 4, 0, 0, 0, 2 ], // Top middle: [ 7, 4, 0, 0, 0, 0, 0, 0, 3 ], // Top right: [ 8, 0, 0, 1, 7, 0, 0, 0, 0 ] …

3
2シンボル数学
前書き 次の事実により、4つの基本的な数学演算子(+、-、*、/)を2つに減らすことができます。 x + y = x - (-y) x * y = x / (1/y), y != 0 x * 0 = 0/x チャレンジ 課題は、以下を含む「文字列」として入力を受け取ることです。 数字 単一文字変数( "x"、 "y") 4つの基本的な数学演算子(+、-、*、/) 括弧 入力と同じ数学的な結果を生成するように操作された文字列を出力しますが、数学記号「-」と「/」のみを含みます 詳細 入力は任意の受け入れ可能な形式(ファイル、STDINなど)にすることができ、文字列または文字配列(配列の配列ではない)として表すことができます。 出力は、任意の受け入れ可能な形式(ファイル、STDINなど)にすることができ、文字列または文字配列(配列の配列ではない)として表すことができます。 括弧を認識して維持する必要があります 標準の抜け穴は許可されていません またはx + yとして表現したい場合は、あなたの選択ですx - -yx - (-y) 操作の順序を維持する必要があります 無効な入力を処理する必要はありません 入力は空でも、単一の数値/変数でもかまいません。その場合、プログラムは入力を出力する必要があります 注:あなたはしていない限り、導入に置換を使用する必要がありinput = …

15
円の周りのn個の点を直線で結ぶことにより得られる領域の最大数
円の周りのn個の点を直線で結ぶことによって得られる軸の数の領域としてf(n)を定義しましょう。たとえば、次のように2つのポイントで円を2つに分割し、3つを4つに分割します。 線を描くときは、2つ以上の線の交点がないことを確認してください。 あなたのタスク 数値nを指定して、f(n)を出力します。 テストケース: n | f(n) ---+----- 1 | 1 2 | 2 3 | 4 4 | 8 5 | 16 6 | 31 7 | 57 8 | 99 9 | 163 あなたはここでもっと見ることができます。 組み込みシーケンスジェネレーターの使用は許可されていません。 これは コードゴルフなので、バイト数が最も少ないコードが優先されます。 数式が必要な場合は、次のとおりです。

25
列暗号をエンコードする
エンコードする文字列と列数(キー)を指定して、次のように文字列をエンコードします。 例Hello, world!とキーを使用します3 まず、列の数を書き出します。 1 2 3 次に、左上から列ごとに1文字ずつテキストを書き、列が足りなくなったら次の行に進みます。 1 2 3 H e l l o , w o r l d ! ここで、エンコードされたテキストを取得するには、左上隅からテキストを読み取りますが、今回は最初に1つの列を読み取ってから、次の列を読み取っていきます。スロットにキャラクターがいない場合はスペースを入れてください。 Hl r!eowl l,od ここには、末尾にスペースがあることに注意してください。 これはエンコードされたテキストです。 別のテストケースはProgramming Puzzles and Code Golf SEkeyを使っています5: 1 2 3 4 5 P r o g r a m m i n …

1
拡張可能な列車交換問題
拡張列車交換問題 パート1:通常の列車交換問題 1996年のCCC(カナダコンピューティングコンペティション)では、最初のステージ2の問題は列車交換問題でした。ここのリンクにアクセスできます。基本的に、番号付きの列車の束があり、それらを順番に取得するために必要な列車の入れ替えの数を調べたい場合、各列車の入れ替え操作では、隣接する2つの列車を入れ替えることができます。車両はどちらの方向にも走ることができるので、入れ替えたときに車両が反対方向に向いていることを誰も気にしません。これはとても簡単です。あなたがする必要があるのは: それをバブルソートするためのステップ数を見つけます。隣接する要素の交換のみを行うことができる場合、これは最も効率的なソートアルゴリズムです。 だから、もっと難しいものを作りました。 パート2:この課題の仕組み 基本的に、隣接する列車だけでなく、交換することができます。回転プラットフォームが長いと、複数の列車の位置を入れ替えることができます。たとえば、長さが4の回転プラットフォームでは、内側と外側のペアを同時に交換できるため、に1 2 3 4なり4 3 2 1ます。さまざまな回転プラットフォームサイズの例を以下に示します。 Length 2: 1 2 3 4 5 --- 1 3 2 4 5 Length 3: 1 2 3 4 5 ----- 1 4 3 2 5 Length 4: 1 2 3 4 5 ------- 4 3 2 …

10
文字列の連結
チャレンジ 小文字のみが含まれ、スペースが含まれていない2つの文字列がある場合、結果は短い文字列、アンダースコア、長い文字列の順になり、短い文字列に含まれる各文字について、文字の最初のインスタンスが削除されます。 文字列の長さが常に異なると想定できます。 テストケース: sale salinewater Result: sale_inwater (only the first 'a' in salinewater is removed) jostling juggle Result: juggle_ostin (juggle is the shorter string) juggle juggler Result: juggle_r (a 'g' is removed for every 'g' in the shorter string) ルール これはコードゴルフなので、バイト単位の最短の答えが勝ちます!

7
アニメ化しよう!
チャレンジ GIFはアニメーションの最も一般的な画像形式であり、今日のソーシャルメディアでかなり頻繁に使用されています。この課題のために、GIFが何であるかを再定義します。この課題では、2Dの「画像」のある種の表現を含む3D配列を取り込み、それらを反復してアニメーションを表示する必要があります。このアニメーションは、GIF、コンソール、GUIなどのどこでも実行できます。アニメーション化されている限り、配信は問題ではありません。 入力 内部のデータが何らかの形で2D画像を表す3D配列。 配列には、RGBデータ、true / falseデータ、またはその他の適切なデータを含めることができます。 また、文字列の2D配列または同様のものにそれを調整することもできますが、アニメーションは2Dアニメーションである必要があります。 選択した形式(秒、ミリ秒など)の各フレーム間の時間。 期間の長さを含める必要があるかどうか、人々は私に尋ねてきました。あなたがアニメーションを表示できる限り、私の答えは「まあ」です。私はあなたがこれよりも「配列」パラメータを順守することをより心配しています。つまり、ランダムなアニメーションはありません。 出力 値の入力に基づいて、各遷移で適切な遅延を持つ2Dアニメーションのように見えるシームレスに反復された出力シーケンス。 ルール 出力は次のいずれかですが、これらに限定されません。 GIF画像。 GUIアニメーション(私の例)。 コンソール内アニメーション。 正直なところ、以下のルールに従う限り、あなたが合うと思う「アニメーション」。 画像を出力するときは、次のフレームを表示する前にコンソールをクリアする必要があります。それらを順番に印刷することはできません。 シームレスなアニメーションのように見える限り、コンソールを「クリア」にエミュレートすることも可能です(私の意味の詳細については、私の例の下のヒントを参照してください)。 実装に関係なく、アニメーションは永久に、または停止するまでループする必要があります。 「ループ」は単純なwhile(true){}場合も無限再帰の場合もあり、ユーザーが「ctrl + c」を押すまでこの傑作を表示したいと思うかもしれません。 任意のサイズの2D「画像」を処理できる必要があります。言語がバッファサイズによって制限されている場合、これは許容範囲であり、説明でこれを述べることができます。 標準の抜け穴は許可されていません。 I / Oの例 入力(3D配列、遅延) f([ [[1,0,0], [0,0,0], [0,0,0]], [[0,0,0], [0,1,0], [0,0,0]], [[0,0,0], [0,0,0], [0,0,1]], ], 1) 出力(例、2020バイト-Java) import javax.swing.JFrame; import javax.swing.JTextArea; /** * Simple …

1
代数表記を記述表記に変換する
ショート氏はチェスをするのが好きです。ショート氏もとても伝統的な人です。したがって、ショート氏は現代のチェスで代数表記を使用する最近の傾向に悩まされており、彼は彼の父親と彼の前の父親の父のように、むしろ記述表記を使用したいと思います。 注意 この課題を単純化するために、私は曖昧さを処理しないことを選択しました(2つのピースが同じ正方形に移動したり、同じピースをキャプチャしたりできる場合など)。また、エンパッサン、プロモーション、Castlingも扱いません。 初心者のための代数表記 ボードの正方形にはa1、左下からh8右上に番号が付けられています。文字はファイル(列)を表し、数字はランク(行)を表します。白のキングはゲームの最初の広場に置かれe1ます。 移動は、移動した駒+移動先の正方形で構成されます。たとえば、移動先のキングe2はになりますKe2。 移動した駒がポーンの場合、駒文字は省略されます。たとえば、ポーンの最初の移動先e4はと表記されe4ます。 移動がキャプチャの場合はx、ピースと移動先の正方形の間に文字が挿入されます。たとえば、で捕らえている女王f7はとして注釈が付けられQxf7ます。 キャプチャーピースがポーンである場合、それは斜めに移動するため、ポーンの元のファイルが記法で記録されます。たとえば、Pawn at c4がで駒をキャプチャするとd5、その動きはとして注釈が付けられcxd5ます。 ピースシンボルはK、キング、Qクイーン、Bビショップ、Nナイト、Rルークのシンボルです。ポーンにはシンボルがありません。 その他の注釈には+、チェック#用とチェックメイト用があります。f7に移動してチェックを行うポーンはf7+です。スペースの不足に注意してください。 初心者向けの説明表記 ファイルは、その上から始まる部分によって記述されます。たとえばe、代数でのファイルはKingファイル、または略してになりKます。他のファイルはそれらの側でマークされ、次にピースです。したがって、file hはKing's Rookのファイル、またはKRです。 ランクは、移動するプレーヤーの視点から番号が付けられます。代数的で4番目のランクは、白の4番目のランクですが、黒の5番目のランクです。 したがって、正方形e4はK4白のプレーヤーK5用と黒のプレーヤー用です。四角f7はKB7白のプレーヤーKB2用と黒のプレーヤー用です。 動きは、駒の動き、ダッシュ、ターゲットの四角形で注釈されます。したがって、移動先のポーンK4はP-K4です。移動する女王KR5はQ-KR5です。 キャプチャーには、キャプチャーピース、次にx、キャプチャーピースの順に注釈が付けられます。したがって、ポーンを捕獲する司教はBxPです。通常、どの Pawnがキャプチャされているかをマークする必要がありますが、簡単にするためにこれは無視してください。 ピースシンボルはK、キング、Qクイーン、Bビショップ、Ktナイト(別のシンボルに注意)、Rルーク、Pポーン用です。 他の注釈にはch、チェックmate用とチェックメイト用があります。移動しKB7てチェックを行うポーンはP-KB7 chです。スペースに注意してください。 入力 スペースで区切られた代数表記の文字列が移動します。移動番号はありません。たとえば、フールの仲間は次のようになります。 f3 e5 g4 Qh4# または、同じWikipediaページからのゲームTeed vs Delmar: d4 f5 Bg5 h6 Bf4 g5 Bg3 f4 e3 h5 Bd3 Rh6 Qxh5+ Rxh5 Bg6# 不滅のゲーム。 …

6
ユニオンジャックを描く
序文 「ドローxフラグ」のチャレンジはたくさんありますが、検索すると、ユニオンジャックをドローするチャレンジはありません。これは描くのが難しい旗だと思いますが、それでも可能だと思います。 チャレンジ ユニオンジャックを描画します。自由に利用できるグラフィックファイル形式でファイルに出力したり、画面に描画したりできます。 Code Golfルールが適用され、バイト単位の最短コードが優先されます。 標準の抜け穴が適用されます。 フラグ描画用のビルトインは許可されていません。 寸法は以下のとおりとします。最小サイズ600x300ピクセル(または言語がスケーラブルグラフィックのみをサポートする場合は単位)最大エラー1ピクセル。 色は、言語またはそのドキュメントで定義されている赤、白、青、またはWikipediaページごとの#CC0000、#FFFFFF、および#003399 です。

10
それは真実か偽物ですか?
何かが真実であるかどうかを表現するには、非常に多くの異なる方法があります!この課題の目標は、生産することである標準の出力truthyやfalsy、さまざまな入力truthyとfalsy値のために。 この課題のために、以下の入力は真実と見なされます。 ゼロ以外の値を持つ符号付き整数を表す文字列(数字のみが含まれ、先頭に[0-9]オプションがあります-)。文字列-0が入力として与えられることは決してないことに注意してください。0以外の整数の前にaが付くことは決してありません0(つまり01、入力として与えられることはなく、同様に入力として与えられる-01こともありません)。 いずれかに相当する、大文字と小文字を区別しない文字列defined、found、nonnil、non-nil、on、success、t、true、y、及びyes この課題のために、次の入力は偽物と見なされます。 文字列0。繰り返されるゼロ(00、00...)は入力として与えられません。 空の文字列 いずれかに相当する、大文字と小文字を区別しない文字列f、failure、false、n、nan、nil、no、notfound、not-found、null、nullptr、off、及びundefined 入力 入力は、真偽値を表す文字列です。文字列は任意のソース(stdio、関数パラメーターなど)から取得できます。先頭/末尾の空白はありません。 入力は、上記の許可された真偽値のいずれかに一致することが保証されています(つまり、エラー処理を提供する必要はありません)。 出力 プログラム/関数は、入力の「真実性」または「偽性」を表す真偽値を出力する必要があります。出力で入力を変換する必要がある正確に1つの真偽値と1つの偽値のみを指定できます(これらは「標準化された」真偽値)。出力は、任意のシンク(stdio、戻り値、出力パラメーターなど)に書き込むことができます。 回答で選択したものtruthyとfalsy値を指定してください。 例:文字列trueを真の値として選択した場合、真の整数も使用できません1。 テストケース テストケースは、1行目が入力、2行目が出力であるため、フォーマットされています。 -1 true 1 true 1234 true -4321 true defined true deFined true Found true nonnil true non-nil true ON true SuCCess true T true true true y true YeS true 0 false '' …

9
InterpretMe通訳をゴルフする
これは非常に単純な課題です。 ジョーク言語InterpretMeは1つのコマンドで構成されています。*これにより、プログラムはInterpretMeプログラムの入力を取得して実行します。 InterpretMeプログラムは*、入力と同じ数のInterpretMeプログラムを解釈します。 あなたの目標は、InterpretMeをできるだけ少ないバイト数で解釈するプログラムを作成することです。 入力 入力は、1行のASCII文字列、本当に必要な場合はUnicode utf-8文字列、必要な場合は言語が使用する文字エンコーディングで構成されます。これらの文字列は、InterpretMeインタープリターの最初またはすべての実行の開始時に入力できます。それらがすべて最初に入力された場合、プログラムは開始時にすべてのプログラム行を出力する必要があります。 出力 この課題では、1つの入力のオプションを選択しない限り、出力はありません。それ以外の場合は、終了と非終了のみです。 テストケースは、入力と出力ではなく、入力と終了で構成されます。改行は、InterpretMeとして解釈される新しい入力を示します。 最初に1つの入力を使用する場合、これは、これらのプログラムが入力されたときに出力され、非アクティブな(何もしない)行が続くと考えられます。 1. * (executes input as an interpret me program, finishes) 2. * (^same) 3. ** (executes input as an interpret me program, then does this again after the first program is done, finishes) 4. hi (nothing, first star of …
8 code-golf 

6
Collat​​zパス:Collat​​z予想に沿った前方および後方
Collat​​z予想は非常によく知られている予想です。正の整数をとります。偶数の場合は、2で割り、それ以外の場合は、3を掛けて1を加えます。到達する1か、何か他のことが起こるまで繰り返します。推測では、このプロセスは常にに達し1ます。 プロセスを逆にすることもできます。で開始し1、2を掛け、multiply by 3 and add 1数値に分岐するには1 (mod 3)、偶数、つまり1に達したときに、1を引いて3で割ります。 Collat​​zパスは2つを組み合わせて、4つの演算で1つの数値から別の数値に移動しようとします。 たとえば、次の場所に移動するに20は1: 1 *2 2 *2 4 *2 8 *2 16 *2 5 (-1)/3 10 *2 20 *2 1を引いて3で割ることによっても、3そこから得ることができ10ます。 これらのツールを使用すると、ある番号から別の番号にCollat​​zパスをトラバースできます。例えば、からパス20には、3(3による除算、1を引く)、(2分周)です。 つまり、使用可能な操作は次のとおりです。 n * 2 always n // 2 if n % 2 == 0 n * 3 + 1 if n …

6
分数年
私のPPCGの休日は終わりました:D はじめに 分数時はthe year + (the value (minute of year) / number of minutes in the year)です。 計算例 2月は常に28日で、年は常に365日であると想定する必要があります。 時間17:34 3rd March 2013を分数時間に変換したいとしましょう。まず、2013年の分数は525600分でした。これを呼び出しましょうx。 次に、2013年の開始以降の経過時間を調べます。いくつかの簡単な計算から、答えは88894分であることがわかります。 今年の初めから61日が経過し、1440(1日の分数)は87840分になります。17時間で1020分(17 * 60)です。これで、87840、1020、および34分を追加して、88894分と等しくなります。 これを呼び出しましょうy。 最後に、年で除算yしxて年を加算すると、2013.16912小数点以下5桁になります。 入力 日付と時刻は単一の文字列として与えられます。文字列は次の形式になります。 YYYY-MM-DD hh:mm 時間は常に24時間形式で、年は常に1900〜2050の範囲になります。 例 Input: 2016-08-06 23:48 Output: 2016.59723 Input: 2013-03-03 17:34 Output: 2013.16912 Input: 1914-11-11 11:11 Output: 1914.86155 …
8 code-golf  date 

8
不足している整数シーケンスの検出—ファイルシステム
課題は、ファイルまたはディレクトリの整数シーケンスの欠落を検出することです。整数という名前のファイル/ディレクトリで満たされたディレクトリがあります。 ファイル/ディレクトリは複数のスレッドから生成されていますが、ジョブは完了していません-したがって、シーケンスにギャップがあります。 入力は開始と終了の2つの整数であり、タスクは次の欠落シーケンスの開始整数を検出することです。runが置かれているディレクトリ内のすべてのファイルとディレクトリには、整数の名前のファイルまたはディレクトリしかないと想定できます。 受け入れ可能な回答フォーム:関数、コードスニペット-コマンドラインで実行する必要があります。 受け入れ可能な開始/終了入力:コマンドラインに含まれ、環境変数/引数は大丈夫、関数へのパラメーター、ユーザー入力は大丈夫です。 最短のコードが勝ちます。 更新-私はなんとかこれを絞り出しましたが、興味深い答えがたくさんありました。アプリコットボーイのBash回答のアイデアは、35バイトのBash回答を設計する際に一部使用されました。次の運が良かったです。 E.g. Presume files 1,2,3,4,7,8,9,10,18 are present, start is 1, end is 20: The output should be: 5 11 19

4
キャノンボール難問
あなたの仕事は、入力番号を使用してp、p1ではない次数の最小の正の砲弾数を見つけることです。 定義 砲弾の数(次数p)は、次の両方の数です。 p-gonal数(このページを参照してください)。 とp正角ピラミッド番号。 n第p-gonalピラミッド数は、第一の和であるn第p-gonal番号。 (例4th square pyramid number = 1 + 4 + 9 + 16 = 30) 次の図は、4番目の正方形のピラミッド番号を正方形のピラミッドとして表しています。 詳細については、このリンクにアクセスしてください。 たとえば、次数3の砲弾数は10です。 4番目の三角形の番号(1 + 2 + 3 + 4 = 10) そして、第三の三角錐の数。(1 + 3 + 6 = 10) フォーミュラ 注:ここにあるものよりも有用な式を見つけた(または作成した)場合は、ここに投稿してください(または、チャットでメッセージを送ってください)。 興味があるなら、nth p-gonal数の式は次のとおりです。 そして、正多角形の数はn次のpとおりです。 スペック p 2より大きいことが保証されています。 プログラムは、p最大(および最大)の解の値をチェックする必要があります2^16。の解決策が見つからない場合、プログラムは何かを行う可能性がありますp。 の正のインデックスのみn。 テストケース …
8 code-golf 

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