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

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

5
1Dセルラーオートマトンのシミュレーション
チャレンジ STDINから7つの数字を取得し、セルオートマトン(CA)の2次元の履歴をSTDOUTに出力する完全なプログラムを作成します。これはコードゴルフです。 入力フォーマット 入力は、コンマで区切られた7つの整数/文字列です。最初の数字は、Wolframコード(各ルールの標準名)に従ったルールの番号です。2番目は、最初の初期構成です。3番目と4番目は、開始パターンの左側に追加するパターンとその回数を示しています。パディングとして。5番目と6番目は右側についても同じことを行います。最後の数字は、シミュレーションを実行する世代の数です。 したがって、入力の例はです90,11,0,4,0,4,5。これにより、プログラムにルール90を実行していることがわかります。また、プログラムに、両端に11文字列を04回追加した初期構成にすることを伝える必要があるため、実際の開始パターンは0000110000です。また、このシミュレーションを5世代実行するようプログラムに指示します。 出力プログラムは、出力がCAの時空間図になるように、各世代のセルの配列全体(改行で区切られている)を印刷する必要があります。世代ごとに、各セルの状態は、その状態と、入力として提供されたルールに従って、すぐ左と右のセルの状態によって決定されます。シミュレーションはエッジの周りをラップする必要があります。最初に印刷されるのは、genとしての開始配列です。0。 入力90,11,0,4,0,4,5により、次の出力が可能な限り正確になります。 0000110000 0001111000 0011001100 0111111110 1100000011 0110000110 開始状態は5つの世代に含まれていないことに注意してください。また、シミュレーションがエッジの周りをラップしていることに注意してください。 その他の例 入力: 184,1100,01,2,01,1,4 出力: 0101110001 1011101000 0111010100 0110101010 0101010101 入力: 0,1011,1,0,0,1,2 出力: 10110 00000 00000 1D CAの仕組みと番号付け方法の詳細

4
Groovyでのゴルフのヒント
興味のある言語でゴルフをするためのヒントを尋ねる多くの質問を見てきましたので、私のお気に入りの言語であるGroovyを尋ねることにしました。人々は、Groovyでのゴルフで使用されるいくつかのヒントやトリックを提供できます。
14 code-golf  tips 

9
与えられた動詞の過去形を返す関数を書く
チャレンジ 動詞である引数を取り、動詞の過去形を返す関数を作成します。(動詞が規則的であると仮定します) 過去形 注:yは子音でも母音でもないと考えてください。 通常、追加するだけ ed動詞の終わりの後にで、動詞の過去時制が作成されます。 例:jump→ jumped、ask→asked ただし、他のルールがあります。 与えられた動詞の最後の文字がの場合e、単に追加しdます。 例:love→ loved、move→moved 動詞が子音+ yで終わる場合は、に変更yしi、を追加しedます。 例:study→ studied、cry→cried ただし、動詞が母音+ yで終わる場合は、単に追加しedます。 例:play→ played、stay→stayed 動詞が母音と子音で終わる場合は、もう一度子音を書き、を追加しedます。 例:stop→ stopped、plan→planned ただし、動詞が複数の母音+子音または単一の母音+複数の子音で終了する場合は、単にを追加しedます。 例:look→ looked、jump→jumped 他にもルールがありますが、上記のルールのみに注意しましょう。たとえば、上記のルールに従ってvisit→ visitted。 勝者 これはコードゴルフであるため、過去の時制を正しく返す最短のコードが優先されます。 例(JS、127) function f(x){return x.replace(/([^aeiouy])y$/,'$1i').replace(/([^aeiouy][aeiou])([^aeiouy])$/,'$1$2$2').replace(/e$/,'')+'ed'}
14 code-golf  string 


5
独自のデスノートを書く
キラはあなたの助けが必要です! 入力形式: Date [and/or Time] Name Gender Reason 出力フォーマット: <Last Name, First Name> <will die/died> on the <DD><st/nd/rd/th> of <MMM, YYYY> [at <hh:mm:ss TT>]. <He/She> <will die/died> of <Reason>. 詳細、詳細: プログラムでは、少なくとも次の日付入力形式を考慮する必要があります。 9 November 2003 9/11/2003 November 9, 2003 時間形式: hh tt hh TT hh:mm tt hh:mm TT hh:mm:ss tt hh:mm:ss …
14 code-golf 

5
テキスト迷路ソルバー
stdinの迷路とエントリポイントが与えられたら、stdoutの出口へのパスを出力するプログラムを作成します。プログラムが迷路ごとに(迷路内のすべてのポイントを通過する)簡単なパスを生成しない限り、どのパスでも構いません。 入力では、壁は#で、エントリポイントはでマークされ@ます。出力で迷路とパスを描画するために、それらがすべて明確である限り、任意の文字を使用できます。 あなたはそれを仮定するかもしれません: 入口点と出口点は入力の端にあります 入力のすべての行は同じ長さです 迷路は解決可能であり、サイクルはありません 出口は1つのみ (Unicode)文字数による最短の解決策が優先されます。 例 (入力にはスペースが埋め込まれることに注意してください) #### # # @ ##### # # # ####### #### # # @*##### #* # #****** ####### ### ################### ### # # ## ######### # # # ##### # ############### #@## ###*################### ###*********#*********# ## *#########* # *# # *********** #####**# …

30
ビット演算子を使用せずに2進数で1の量を出力します
説明 数値を指定して、その数値1をバイナリ表現で出力します。 入力 数>= 0あなたの言語を処理することができる最大数を超えることはありませんベース10インチ 出力 1バイナリ表現のs の量。 勝利条件 最短のコードが優先されます。 不許可 ビット演算子。加算や乗算などの他の演算子が許可されます。 組み込みのベース変換関数。 例 Input: Ouput: 56432 8 Input: Output: 45781254 11 Input: Output: 0 0

10
べき乗の最後の桁
このタスクでは、A(10000桁未満)およびB(2 ^ 64未満)が与えられ、(A・A・A・...・A(B回の最後の桁を計算する必要があります。 ))。 入力AとBは、ブランクで区切られた単一の行で指定されます。入力はEOFで終了します。 入力 34543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222 22337254775808 38758436543765743875437656358764347568437658743658743454354645645543532487548758475847684756897548758457843758437584758478574857438758436587436587436587643875643856783478743658743658764387564387564378658437658743658743687564387564387564765746576475647564756475465746574675647654765476547534587545689475689748574385743765874585743857843765893748643587438957458754376543265874387564384764367584375874758943267632487564357 54545454123 6777744348435743587643756438765436574587564354375674365645643675 23232 3875843654376574357 54545454 出力 6 3 5 9 制約 A Bを計算するために組み込み関数やオーバーロードされた演算子を使用しないでください(実際に計算する必要はまったくありません)。 最短のソリューションが勝ちます!
14 code-golf  math 

10
ハングマンワードゲームゴルフ
redditに触発されました。 Hangmanをプレイするプログラムを作成します。 プログラムは、N個の単語のリストからランダムな単語を選択します(N> 2)。 単語リストは、任意の方法でプログラムに提供できます。 各反復で まだ発見されていない文字にはアンダースコアを使用してゲームの状態を印刷します。 H _ N _ _ _ N 残りの試行回数を出力します 10 stdinからの手紙を読み、ゲームの状態を更新します。間違った手紙を推測した場合は試行を差し引きます。 A (入力) H A N _ _ A N 10 すべての文字が推測されるか、試行回数が0になるまで繰り返します 任意の言語を使用 最少数のキャラクターが勝ちます。 絞首台を描くことは必要ではありませんが、賛成票と称賛を獲得できます。

9
マンチェスターはデータストリームをエンコードします
マンチェスターコーディングは、無線通信で使用される通信プロトコルであり、受信機がデータ自体からクロックレートを回復できるように、定期的なビット遷移を保証します。ビットレートは倍になりますが、安価で簡単に実装できます。アマチュア無線事業者によって広く使用されています。 コンセプトは非常にシンプルです。ハードウェアレベルでは、クロックラインとデータラインは単純にXORされます。ソフトウェアでは、これはビットの入力ストリームをダブルレート出力ストリームに変換し、各入力「1」は「01」に変換され、各入力「0」は「10」に変換されます。 これは簡単な問題ですが、ビットストリームの性質のため、多くの実装に開かれています。つまり、エンコードは概念的にはバイト単位のプロセスではなくビット単位のプロセスです。したがって、エンディアンネスにすべて同意し、入力の最下位ビットが出力の最下位バイトになります。 ゴルフの時間!任意の長さのバイト配列を指定すると、エンコードされたデータマンチェスターの配列を返す関数を作成します。 入力と出力は、ビットストリーム内でリトルエンディアン、最下位バイトが最初、最下位ビットが最初と見なされる必要があります。 ASCIIビットストリーム描画: bit # 5 4 3 2 1 0 5 4 3 2 1 0 IN ------- 1 0 1 0 1 1 ---> [manchester encoder] --- 01 10 01 10 01 01 ----> OUT 例: Example 1 (hex): LSB MSB <-- least sig BYTE …
14 code-golf  binary 

11
古いアイルランドの祝福
誰がこれらの言葉を造ったのかわかりません。私はアイルランド人ではありませんが、アイルランド人に祝福を与えます。 May the road rise up to meet you May the wind be always at your back May the sun shine warm upon your face The rains fall soft upon your fields And until we meet again May God hold you in the hollow of His hand 私はこれを数週間後に投稿することを計画していましたが、昨日は聖パトリックの日であることがわかりました。 ルール: 上記のテキストを正確に生成します。 …

6
数字の三角波を印刷
波の振幅と周期を指定して、波を印刷します。詳細については、サンプル出力を参照してください。波形の総数は周期に等しく、各波形の高さは振幅に等しくなります。振幅と周期は10未満です。末尾のスペースは無視できますが、先頭のスペースは無視できません。 Sample Input 3 2 Sample Output 3 3 232 232 12321 12321 12321 12321 232 232 3 3

12
次の2月29日の曜日
日付を取り、その日付の次の2月29日の曜日を返す関数を作成します。 入力はISO拡張形式の文字列です:YYYY-MM-DD(たとえば、2010年5月27日は「2010-05-27」になります)。 出力は、曜日の名前を表す文字列です(例:「月曜日」)。大文字と小文字は関係ありませんが、フルネームは英語で入力してください。 指定された日付が2月29日の場合、次の 2月29日の曜日を返します。 Proleptic Gregorian Calendarの計算を使用します(そのため、全体の長さについてはグレゴリオうるう年の計算を使用します)。ユリウス暦について、またはユリウス暦からグレゴリオ暦への切り替えがいつ発生したかを心配しないでください。すべてについてグレゴリオを仮定してください。 この関数は、少なくとも「0001-01-01」〜「2100-01-01」の範囲で機能する必要があります。 選択した言語が提供する標準ライブラリは自由に使用できますが、ソリューションの一部としてそのコードを含める場合を除き、サードパーティのライブラリは使用しないでください。 最短コード(最少文字数)が勝ちます。 例: func("0001-01-01") -> "Sunday" func("1899-12-03") -> "Monday" func("1970-01-01") -> "Tuesday" func("1999-07-06") -> "Tuesday" func("2003-05-22") -> "Sunday" func("2011-02-17") -> "Wednesday" func("2100-01-01") -> "Friday" (いいえ、関数に名前を付ける必要はありませんfunc) ヒント: 400で割り切れない00で終わる年はうるう年ではないことに注意してください。 0001年1月1日は月曜日です。
14 code-golf  date 

20
ランダムダイスチップ
標準のサイコロ(ダイス)では、反対側の面が7になるように番号が配置されます。ランダムスローに続いて9回のランダムチップを出力する、可能な言語で最短のプログラムを記述します。チップはサイコロの4分の1回転です。たとえば、サイコロが5に面している場合、すべての可能なチップは1,3,4および6です。 望ましい出力の例: 1532131356

4
コードゴルフの無料書籍はありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 一般的に、特にJavaとC ++でのコードゴルフに関する無料の書籍をお勧めできますか?
14 code-golf  tips 

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