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

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

7
大文字や句読点を変更せずに単語を逆順にする
文字列内の各単語を逆順に並べ、句読点と大文字を最初の場所に保持しながら、文字数が最小のプログラムを作成します。 「単語の順序」とは、各単語が空のスペース( "")で分割されていることを意味するため、短縮などは1つの単語として扱われます。収縮のアポストロフィは同じ場所にとどまる必要があります。(「しない」=>「いいえ」)。 (句読点は、a〜z、A〜Z、または空白*以外の文字を意味します)。 大文字の番号を使用できないため、このリストから番号が削除されました。数字は句読点として扱われるようになりました。 たとえば、入力の場合: Hello, I am a fish. 出力されるはずです: Olleh, I ma a hsif. Hは以前は同じ場所で大文字だったため、最初の単語の最初の文字であるOが大文字になっていることに注意してください。 コンマとピリオドも同じ場所にあります。 その他の例: This; Is Some Text! 出力します Siht; Si Emos Txet! 任意の言語を使用できます。キャラクターの数が最も少ないプログラムが勝ちます。

30
RGB intから16進数へ
3つの整数rgbを指定すると、16進表現を文字列として出力します。 Input: Output: 72 61 139 #483D8B 75 0 130 #4B0082 0 255 127 #00FF7F 最も短い最も正統でないコードが勝ちます
13 code-golf 

4
モーツァルトゴルフ-ミニ「ロンド」
「Mozart-Alla Turca」をstdoutに出力します(「参照実装」のサンプルを参照) シンセサイザーと音楽の両方を最小サイズにパックする方法を見つけてください。 要件: フィードに適した形式aplay -f cd(署名付き16ビットリトルエンディアン、2チャネル)。 音楽全体を再生する必要があります(音符やパートをスキップせずに、少なくともサンプルプログラムよりも少なくしないでください)。しかし、ポリフォニーは必要ありません。 /usr/bin/timidity、/usr/bin/soxまたはそのようなものだけを呼び出すことはできません(たとえば、特別な音楽モジュールをインストールする必要があります)。 ネットワークにアクセスできない、または音楽がローカルで利用可能であると想定できない。 解析可能なスコアを使用した「リファレンス実装」:https : //gist.github.com/vi/5478693 (古いサンプルPerlプログラム:https : //gist.github.com/vi/5447962)
13 code-golf  music 

8
イースターの日付を計算する
関数またはプログラムは、入力として1年をとり、その年のイースターの日付(グレゴリオ暦)を返す(または印刷する)必要があります(東方正教会のイースターではありません)。返される日付は、ISO 8601に従ってフォーマットする必要がありますが、9999を超える年(312013-04-05または20010130など)をサポートする必要があり、1583(年グレゴリオ暦の採用)、および5701583以下の年(イースターの日付のシーケンスが繰り返され始めたとき)。 例: e(5701583) = 5701583-04-10 e(2013) = 2013-03-31 e(1583) = 1583-04-10 e(3029) = 30290322 e(1789) = 17890412 e(1725) = 17250401 イースターの日付を返すための組み込み関数の使用は退屈であるため、許可されていません。最短回答(文字数)が勝ちます。 リソース: http://en.wikipedia.org/wiki/Computus#Algorithms http://web.archive.org/web/20150227133210/http://www.merlyn.demon.co.uk/estralgs.txt
13 code-golf  date 

5
読みやすさの指標を構築する
フレッシュ・キンケイド可読性アルゴリズムは、完全に客観的、またはコンピュータを使用して、容易に自動化されどちらもワードカウントと音節数、の措置に依存します。たとえば、ハイフンを含む「code-golf」は1語または2語としてカウントされますか?「百万」という言葉は2音節か3音節ですか?このタスクでは、正確なカウントには時間、スペース、そして最も重要なことにはコードが必要になるため、概算する必要があります。 あなたの仕事は、英語の文章を読める言語(完全な文章であると仮定)で可能な限り最小のプログラム(関数)を構築し、Flesch Reading Easeインデックスを8ポイントの許容範囲まで計算することです(説明のため)音節カウントと単語カウントのバリエーション)。次のように計算されます。 FRE = 206.835 - 1.015 * (words per sentence) - 84.6 * (syllables per word) プログラムは、手動カウントを使用してインデックスが計算された以下の参照パッセージに合わせる必要があります。 I would not, could not, in the rain. Not in the dark, not on a train. Not in a car, not in a tree. I do not like them, Sam, …

1
ソリティアの夢-勝てるソリティアスターティングハンドを作成する
それは私です。ケーブジョンソン。 5月21日です。あなたは地球上で最高の会社であるAperture Scienceで働いており、明日、私たちの主力ウィンドウシステム(またはWindowS)のバージョン3.0 CavOSをリリースします。残念ながら、明日の朝、私たちの主要な競合他社はWindowSのバージョン3.0もリリースしています! 競合するWindowSには、CavOSにはない機能が1つあるという、Cave JohnsonのCEOに漏らされました。KlondikeSolitaireのゲームです。私、ケイブ・ジョンソンは、この省略が大幅な売上減少につながることを懸念しています。そのため、私、ケイブジョンソンは、プログラミングインターン間の競争を考案して、ソリティアのゲームを作成しました。エントリーが選ばれたプログラマーは、刺激的なGlaDOS AIプロジェクトに参加する機会を得ます。 私、ケイブ・ジョンソンには、いくつかの要件があります。 ソフトウェアは明日出荷する必要があるため、すでに印刷され、イメージ化されたフロッピーのスペアセクターに収まるように、最短のプログラムが選択されます。 ゲームプレイについて心配する必要はありません。私たちの顧客はプリンターを持っていますか?私が必要なのは、あなたのプログラムが以下を示すリストを作成することだけです:デッキのカードの順序と、7つの山のそれぞれの内容。デッキは上から配られます。杭は下から見えるようになります。Hearts、Diamonds、Clubs、およびSpadesには、略語H、D、C、Sを使用します。King、Queen、Jack、およびAceには、略語K、Q、J、Aを使用します。各カードはスペースで区切る必要があります。最初の行はデッキを示し、2番目は最初の最小のパイルのカード、3番目は2番目のパイルのカードなどを示します。必要に応じて、10の代わりにTを使用できます。 ここではレモネードを作っています-レモンを吸いません。私、ケイブ・ジョンソンは負けたくないし、顧客も好きではない。すべてのゲームは勝つ必要があります ゲームはランダム化する必要があります。単一のゲームをエンコードしようとしません。クロンダイクには7000兆のハンドがあり、それらの約90%が勝ちです。256以上の異なるハンドを作成できるプログラムに満足しています。言語に(タイマーなどから)乱数を取得する方法がない場合は、言語に適した方法でシードを取得できると想定してください。 お客様はかなり賢いです。勝ち勝ちのために、彼らはデッキ3で時間制限なしでDraw 3をプレイしていると仮定します Apertureの皆さん(およびすべてのもの)を代表して、皆さんの幸運を祈ります。お待ちしています。 「キャロライン?どうやったらこの事を止められるの?」 性格外:Windowsのルール3、ドロー3、ベガス以外のソリティアを想定します。私はすべてのtを渡り、すべてのiにドットを付けようとしましたが、質問があるかどうか尋ねます。幸運を。 出力例: 5H AS 7C 8S QH ... AH JS 10S JC JH 7C 9D AC 8D 7C . . .
13 code-golf  game 

3
Brainfuckのビット演算子
あなたの仕事は、以下の二項演算子のそれぞれに対して1つのBrainfuckプログラムを作成することです。各プログラムは、入力から1つまたは2つの8ビット数(AおよびB)を取得し、指定された操作を計算する必要があります。 A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 5つすべてを実装する必要はありません。スコアは次の方法で計算されます。 #totalCharacters + {4000 * #problemsNotCompleted} したがって、有効なスコアはゼロ(最高)から20,000(何も完了していない)までです。 結果を保存する場所や、入力を保存するかどうかは気にしません。8ビットセル、および必要なだけの空のセルを右側にのみ想定します。 最適なメモリ位置に番号がすでにあると仮定することができるので、IO操作を心配する必要はありません。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

5
入力として公正なコインを与え、特定の不公平な結果を生成します
不公平なコインを使用して公正なコインを生成するのは簡単ですが、その逆を達成するのはより困難です。 プログラムは、入力として1 つの数値X(0〜1を含む)を受け取ります。入力は、ソースコードの途中の数字として単純にハードコードされてはなりません。次に、1桁を返す必要があります。1確率がXの0場合、それ以外の場合は。 プログラムは、ソースコードで1つの形式の乱数ジェネレーターint(rand(2))(または同等のもの)のみを使用できます。これは、等しい確率でゼロまたは1を返します。この関数は、コードに何度でも含めたり、アクセスしたりできます。また、コードの一部として自分で関数を提供する必要があります。 プログラムでは、乱数生成関数として機能する可能性のある他の乱数生成関数または外部ソース(時刻関数や日付関数など)を使用できません。また、外部ファイルにアクセスしたり、外部プログラムにジョブを渡すこともできません。 これはコードゴルフで、最短の回答が勝ちです。
13 code-golf  math 

7
すべての可能な点字を書きます
今朝、面白いパズルがエレベーターのボタンを見て私に来ました。 2x3グリッドに収まるすべての点字パターンのリストを生成する必要があります。ハッシュ#を使用してバンプ-を示し、ハイフンを使用して平坦な領域を示します。 予想される出力サンプル: #- -- -- ## -- -- #- #- -- (and so on...) ルール: プログラムでは、各パターンを少なくとも1つの文字または行で区切る必要があります。 パターンは任意の順序で生成できます。 点字のアルファベットが実際に使用するものに関係なく、すべてのパターンを作成する必要があります。完全に空白のパターンはオプションです。 一意のバンプパターンのみを生成する必要があります。以下のパターンは、バンプが同一の配置にあるため、同等と見なされます。これらの場合、左上隅に最も近いパターン(つまり、この例の最初のオプション)を使用します。 #- -# -- -- #- -# #- -# -- -- #- -# あなたはそれがすべてのために動作させることができればボーナスポイントのxでyの大きさのグリッド。(編集:妥当な範囲内。概念実証には4x4までで十分です。) ウィキの記事を読むと、このパズルのルールを満たす45のパターン(空白を含む)があるようです。

15
テキストの長方形
プログラムは、入力として少なくとも8文字のテキストを取得し、常に偶数の文字で構成されます。(入力の正確さを評価する必要はありません)。 あなたの目標は、そのテキストを長方形として表示することです。たとえばHelloWorld、入力として与えられ、ディスプレイ Hell d o lroW ルール: テキストは時計回りに回ります(好きなように開始位置) これは、1文字幅の閉じた長方形を形成します。 長方形は内側のほとんどの領域を囲む必要があります。(テキストを2行で表示するという些細な答えを除外するため) テキスト自体と必要なパディングスペースと改行以外の文字は印刷されません。 コードゴルフとして、最短のコードが勝ちます。 勝者は、最初の有効な回答から10日以内に選択されます。
13 code-golf 

10
PrettyFontで数値を出力します
PrettyFontという新しいフォントを設計しました。私はそれを完成させることに多くの時間を費やしましたが、私は働く人なので、それを終わらせる時間がありません。したがって、現在は4文字しか含まれていません。私が金持ちになったある日、それはそれを終えることが私の生涯の目標になりますが、今のところ... これはPrettyFontです:(0、1、2、3) #### ## #### #### # # # # # # # # # # ### # # # # # #### ### #### #### 各文字は幅4ピクセル、高さ5ピクセルです。今!PrettyFontで数値を出力するプログラムを作成して、印刷用のデザインを送信できるようにします。 ルール: 入力は、基数4の文字列番号(文字0〜3のみ)、たとえば「01321」です。プログラムは、文字列内の少なくとも10文字を処理できる必要があります。ボーナスポイントは、文字列の代わりに実際の基数10の整数を取るプログラムに与えられます。編集の明確化:整数ボーナスは、54321のような任意の10進数を入力できることを意味し、プログラムはそれを4進数に変換して出力します(この場合は31100301)。 出力は、PrettyFontで印刷された番号になります。入力と出力の例: > "321" #### # ### # #### #### # # # # #### ## # # # ### 次のような単一行形式で出力できるプログラムへの大きなボーナス: > …

9
予約語を使用せずに最初の128個の素数を出力します
明らかな解決策は、単に文字列として印刷することですが、より短いコードを書くことは可能ですか? 要件: 入力は処理されず、出力は2 3 5 7 11 13 ...etcなどの形式である必要があります。 その言語の予約語はまったく使用されていません この言語は、少なくとも構造化プログラミングを許可し、予約語を使用する必要があります(そうでない場合、ポイント2は意味がありません)。 最初はC / C ++のみを念頭に置いていましたが、不正行為を防止しようとしながら質問を拡張しました

8
平方根の連続分数の決定
連分数数はn、次の形式の割合である に収束しますn。 連続aした分数のシーケンスは、通常次のように記述されます。[a 0 ; a 1、a 2、a 3、... a n ]。 同じように書きますが、セミコロンの間に部分を繰り返します。 あなたの目標は、の平方根の継続部分を返すことですn。 入力:整数n。n完全な正方形になることはありません。 出力:の継続分数sqrt(n)。 テストケース: 2 -> [1; 2;] 3 -> [1; 1, 2;] 19 -> [4; 2, 1, 3, 1, 2, 8;] 最短のコードが優先されます。幸運を!
13 code-golf  math  number 

6
すべての有理数のリストを出力します
数学のすべてのうち、常識を超えるいくつかの定理が常にあります。これらの1つは、さまざまなサイズの無限大があるという事実です。別の興味深い事実は、サイズが異なると思われる多くの無限大が実際には同じサイズであるという考えです。有理数と同様に、整数と同数の偶数があります。 この質問の一般的な概念は、無限という奇妙な現実に立ち向かうことです。このチャレンジでは、プログラムは以下を行うリストを出力します。 特定の時点で、常に整数のエントリがあります 最終的に、リスト全体に特定の(ゼロ以外の)有理数を正確に1回(十分に長く実行するために残した場合) 制限のない数の空のスロットが含まれている(リスト上のエントリが不必要に0に設定されている) 空きスロットの割合が100%の制限に近づいている すべての正の整数Nに対して、N個の連続した空のスロットを持つ無限の場所があります チャレンジ あなたの課題は、次のルールを備えた特別なリストを出力する、可能な限り短いプログラムを書くことです。 インデックスが平方数ではないすべてのエントリはゼロに設定する必要があります。したがって、最初のエントリはゼロ以外、2番目と3番目はゼロ、4番目はゼロ以外などになります。 すべての有理数は、単純化された不適切な分数の形式(4/5や144/13など)になります。例外はゼロです0。これは単にです。 プログラムが十分に長く、十分なメモリで実行される場合、最終的にすべての(正および負の)有理数がリストに表示されます。特定の有理数の場合、必要な時間は任意の長さですが、常に有限の時間です。 無限の時間実行した場合、ゼロ以外の有理数が2回現れることはありません。 ルール3では、さまざまな法的出力が無限に存在するため、ある程度のバリエーションが認められています。 出力は行のストリームになります。各行5: 2/3は、最初の番号がエントリ番号であり、その後に有理数が続く一般的な形式になります。1: 0常に出力の最初の行になることに注意してください。 出力のスニペットの例: 1: 1/1 2: 0 3: 0 4: 2/1 5: 0 6: 0 7: 0 8: 0 9: -2/1 10: 0 etc... 規則、規制、および注記 これはコードゴルフです。標準コードのゴルフ規則が適用されます。また、出力で許可されるバリエーションのため、少なくともリストにすべての可能な有理数が1回だけ含まれていると信じる理由と、解が正しいことを示す必要があります。 編集:素数は挑戦から気をそらしたので、私はそれを二乗数に変更しています。これは同じ目的を達成し、ソリューションを短縮します。

7
2つの文字列間の最小編集距離を見つける
説明 2つの文字列間の編集距離は、1つの単語を別の単語に変換するための挿入、削除、または置換の可能な最小数の関数です。 挿入と削除のコストは1、置換のコストは2です。 例えば、間の距離ABとは、A削除が1のコストと必要なだけ編集の欠失であるため、1 B文字。 間の距離CARとは、FAR置換がこれを見にもう一つの方法は、1つの欠失および1回の挿入である2を要しているため、2です。 ルール 2つの入力文字列(指定された言語では便利ですが)を指定すると、プログラムは2つの文字列間の最小編集距離を見つける必要があります。 文字列には文字のみが含まれ、A-Z100文字未満で0文字を超えると仮定できます。 これはコードゴルフであるため、最短のソリューションが優先されます。 サンプルテストケース ISLANDER, SLANDER > 1 MART, KARMA > 5 KITTEN, SITTING > 5 INTENTION, EXECUTION > 8
13 code-golf  string 

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