プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

30
俳句の階乗!
仕事 組み込みの階乗関数を使用せずに数値の階乗を計算するプログラムを作成します。簡単?問題は、プログラム全体(テストを含む)を俳句形式で記述する必要があることです。 必要な数の俳句を使用できますが、発音時には5-7-5音節形式に従う必要があります。 得点 これは人気コンテストですので、最も多くの賛成票を獲得する必要があります。プログラムは少なくとも1つの完全な俳句で構成され、すべての俳句が完成している必要があります。 コードを読むとき、各俳句の最初の行には5つの音節があり、2番目の行には7音節があり、3番目の行には5音節があります。

30
Two Makes All The Difference-警官
注意 -このチャレンジは終了しました。新しい回答は無視され、受け入れられた回答は変更されません。 チャレンジ プログラム内の2文字のみが変更、削除、または追加されると、出力が完全に変更される有効なプログラムを作成します。 変更された出力は、元の出力から15以上のレーベンシュタイン距離を持っている必要があります。 出力は空ではなく、有限でなければなりません。したがって、プログラムは1分以内に終了する必要があります。 出力は確定的で、プログラムを実行するたびに同じものを出力する必要があります。また、プラットフォームに依存してはなりません。 PRNGに組み込まれているように、ハッシュ関数は許可されません。同様に、RNGのシードは許可されていません。 3日後、クラックのない提出は安全になります。この安全性を主張するには、答えを編集して正しい答えを表示する必要があります。(明確化:あなたが答えを明らかにするまで、あなたは安全ではなく、まだクラックされる可能性があります。) 書式設定 回答は次の形式である必要があります。 # <Language name>, <Program length> ## Code <code goes here> ## Original Output <output goes here> ## Changed output <changed output goes here> 強盗 強盗の挑戦は、あなたが変更した2つのキャラクターを見つけることです。強盗があなたの解決策を破った場合、彼らはあなたの答えにコメントを残します。 ここで強盗のスレッドを見つけることができます。 勝ち クラックのない解決策が最も短い人が勝ちます。 リーダーボード <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>site = 'meta.codegolf';postID = 5686;isAnswer = false;QUESTION_ID = 54464;var …

30
コードの最後、中間、最初の文字を印刷します
課題は簡単です。プログラムのソースコードの最後、中間、および最初の文字をこの順序で印刷します。 中央の文字は、ソースのn文字の長さと1インデックス付けを想定して、次のように定義されます。 n偶数の場合、n/2-thおよびn/2 + 1-th文字を出力します。(abcdef == cd) nが奇数の場合、(n-1)/2 + 1-th文字を出力します。(abcde == c) ルール 入力がない場合、ソースコードの最後、中間、および最初の文字をフォームで出力し[last][middle][first]ます。これは3〜4文字の長さになります。 出力に末尾の空白を含めることはできません。ただし、空白が最初、中間、または最後の文字である場合、そのように印刷する必要があります。 ソースコードはn >= 3文字数である必要があります。 コードは>= 3一意の文字で構成する必要があります。 標準的な抜け穴は禁止されています。 これはcode-golfであるため、文字の最短の解決策が優先されます。 サンプル # Form: [code] --> [output] xyz --> zyx abcd --> dbca 1 --> # not allowed: too short abcde --> eca aaabb --> # not allowed: not …
60 code-golf  quine 

18
町には2つの新しい保安官がいます-DJMcMegoペアを特定します!
MegoとDJMcMayhemの新しい保安官のモデレーターがいます。彼らの新しい地位を適切に称えるための挑戦が必要なので、そこに行きます。 プロファイルにと、私の注意を引いたものがあります。ユーザーIDは31716および45941です。桁単位の減算を実行すると、かなりエキサイティングなものに気付くでしょう(もちろん、絶対的な差をとる):317163171631716459414594145941 3|1|7|1|6 4|5|9|4|1 -+-+-+-+- (-) 1|4|2|3|5 上記のアルゴリズムによって生成される数はです。この整数には特別なことがあります。昇順でソートされた連続した数字のみで構成されていますが、正確に1つの数字が正しく配置されていません— 4。142351423514235444 桁ごとの絶対差が昇順でソートされた連続した整数である場合、正の整数のペアをDJMcMegoペアと呼びますが、正確にそのうちの1つは属していません。つまり、桁ごとの減算の結果の1桁だけを別の位置に移動し、取得した整数が連続した数字のみで昇順でソートされるようにすることができます。(a,b)(a,b)(a, b) 上記の例では、一対でDJMcMegoの場合ので、対4の間で移動される3及び5、結果は12345の基準を満たしています。結果の数値の桁は1から始まる必要がないことに注意してください。(31716,45941)(31716,45941)(31716, 45941)444333555123451234512345111、連続しているます。どちらの決定をすべきかわからないときは、相手の助けに頼って物事を整理することができます。 あなたの仕事は、入力として与えられた正の整数のペアがDJMcMegoのペアであるかどうかに応じて、真偽値を出力することです。 とbの桁数は同じで、常に少なくとも4になることが保証されています。aaabbb 任意の合理的な形式(つまり、ネイティブ整数、文字列、数字のリストなど)で整数を取ることができます。 デフォルトではこれらの抜け穴は禁止されていることに注意しながら、任意のプログラミング言語で競争し、任意の標準的な方法で入力を取得し、出力を提供できます。これはcode-golfであるため、すべての言語の最短の送信(バイト単位)が優先されます。 テストケース a, b -> Output 31716, 45941 -> Truthy 12354, 11111 -> Truthy 56798, 22222 -> Truthy 23564, 11111 -> Truthy 1759, 2435 -> Truthy 12345, 11111 -> Falsy 3333, 2101 -> Falsy …

30
オレオレエレレオー
オレオレエレレオー 「oreo」という単語に類似した入力文字列を指定し、入力文字列と同じ幅のCookieのASCII表現を指定します(Cookieの安定性を確保するため)。 ルール 入力は小文字で、文字列「o」と「re」の任意の組み合わせを含み、それらの文字列のみを含む空白のない空ではない文字列です。 文字列「o」は固体Cookieを表し、文字列「re」はフィリングを表します。 出力は、入力文字列と同じ幅のスタックCookieである必要があります。 出力は文字列の配列ではない可能性があります Cookieは、各側に1文字ずつ、詰め物と重なる必要があります 出力に使用される文字は、以下の出力(█および░)と一致する必要はありません。Cookieの2つの部分で異なる非空白文字である必要があります。 塗りつぶしの左側の空白スペースは必須であり、後続の空白はオプションです 例 Input: oreo Output: ████ ░░ ████ Input: o Output: █ Input: re Output: (two spaces) Input: rere Output: ░░ ░░ Input: oreoorererereoo Output: ███████████████ ░░░░░░░░░░░░░ ███████████████ ███████████████ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ░░░░░░░░░░░░░ ███████████████ ███████████████ これはコードゴルフなので、最短の回答が勝ち、幸運を祈ります:)

30
これはロケット科学ではありません
単一行の文字列を取り込むプログラムまたは関数を作成します。印刷可能なASCIIのみが含まれていると想定できます。次のようなASCIIアートロケットの文字列を印刷または返す | /_\ |E| |a| |r| |t| |h| |_| /___\ VvV 入力文字列は胴体の上から下に書かれています。この場合、入力はでしたEarth。ロケットの高さ(炎を含む)は、常にストリングの長さ+ 5です。 出力の各行には、最大2つの末尾スペースがあり、オプションの末尾改行が1つある場合があります。バイト単位の最短コードが優先されます。 その他の例: [empty string] | /_\ |_| /___\ VvV a | /_\ |a| |_| /___\ VvV |0 | /_\ ||| |0| |_| /___\ VvV \/\ | /_\ |\| |/| |\| |_| /___\ VvV _ _ [note trailing …

3
箱の外で考える-私はそれを正しくやっていますか?
枠を超えて考えることは達成する価値のある目標であると聞き続けていますが、うまくやっているかどうかはどうすればわかりますか? このジレンマを解決するために、理論的には次のような出力を生成するBrainwave-to-ASCII -translatorをすでに作成しました。 # +------------+ # | thinking | # | | # +------------+ # # または # +------+ # | | thinking # | | # | | # +------+ # # これにより、枠外で考えているかどうかを簡単に判断できます。(これら#は出力の一部ではなく、新しい行を表します。) ただし、バグのために、出力の小さなセクションのみが返される場合があります。 | | # +---------+ # thinking # # +# |# inking |# # # タスク …

13
ワードクロックを印刷する
数年前に最初のものを見たので、私は常にこの種のワードクロックに支配されていました。 その時計に表示されるテキストは次のとおりです。 IT IS HALF TEN QUARTER TWENTY FIVE MINUTES TO PAST TWO THREE ONE FOUR FIVE SIX SEVEN EIGHT NINE TEN ELEVEN TWELVE O'CLOCK あなたの仕事は、そのような作業クロックを書くことです。現在の時刻の印刷に関連する場合にのみ、単語が点灯します。それ以外の場合、それらは点灯します。単語は印刷されることにより「点灯」され、単語の長さであるスペースの数に置き換えられることにより「消灯」されます。 例:現在の時刻が17:23の場合、印刷されるテキストは次のとおりでなければなりません。 IT IS TWENTY FIVE MINUTES PAST FIVE ルール 印刷される時間は12hバリアントですが、AM / PMはありません。 四捨五入は分単位でのみ行われます(秒はまったく関係ありません)。丸めは5の最も近い倍数で行われます。たとえば、17:52:38は実際には17:55に最も近いですが、秒は無関係なので、17:52は実際には17:50に切り捨てられます。また、印刷されるテキストは「6分間で10分です」(関連するスペースを使用)です。XX5の倍数の場合XX、HH:(XX-2):00からHH:(XX + 2):59まで使用されます。単語がMINUTESあれば表示される必要がありますFIVE、TENまたはTWENTY(「TO」や「過去」の前に)分のセクションに点灯されています。 関係のない単語はすべて、必要な数のスペースに置き換えられ、上記のテンプレート内のテキストを保持します。末尾のスペースは削除される場合があります。テキストを予想される位置に保持することに関連するスペースを保持する必要があります。 末尾の行もトリミングできます。関連する空の行を表示するには、引き続き必要です。例: IT IS TEN MINUTES PAST TWO これらの値が時間を指している場合TEN、1行目またはFIVE3行目に点灯しないでください。 …
59 code-golf  string  date 

13
サンドパイルを構築する
アーベル砂山は、我々の目的のために、砂の最初は空整数座標を持つ無限のグリッド、です。1秒ごとに、砂粒が(0,0)に配置されます。グリッドセルに4つ以上の砂粒があるときはいつでも、1つの砂粒をその4つの隣接するもののそれぞれに同時に溢れさせます。(x、y)の隣接は(x-1、y)、(x + 1、y)、(x、y-1)、および(x、y + 1)です。 セルがこぼれると、隣のセルがこぼれる可能性があります。いくつかの事実: このカスケードは最終的に停止します。 細胞がこぼれる順序は関係ありません。結果は同じになります。 例 3秒後、グリッドは次のようになります ..... ..... ..3.. ..... ..... 4秒後: ..... ..1.. .1.1. ..1.. ..... 15秒後: ..... ..3.. .333. ..3.. ..... そして16秒後: ..1.. .212. 11.11 .212. ..1.. 挑戦 できるだけ少ないバイトで、単一の正の整数tを取り、t秒後に砂山の写真を出力する関数を作成します。 入力 任意の形式の単一の正の整数t。 出力 文字を使用した、t秒後の砂山の写真 . 1 2 3 編集:好きな4つの異なる文字を使用するか、絵を描きます。「.123」または「0123」を使用していない場合は、回答で文字の意味を指定してください。 例とは異なり、出力には、サンドパイルのゼロ以外の部分を表示するために必要な最小限の行と列が含まれている必要があります。 つまり、入力3の場合、出力は次のようになります。 3 4の場合、出力は .1. 1.1 …

30
末尾の真実を数える
私の親愛なる友人や同僚にインスパイアされ、その記念に、 ダンバロネット、1956 –2016。RIP 彼は、このタスクに対する最短のAPLソリューションを見つけました。 仕事 ブールリストを指定して、後続の真理値の数をカウントします。 事例の例 {} → 0 {0} → 0 {1} → 1 {0, 1, 1, 0, 0} → 0 {1, 1, 1, 0, 1} → 1 {1, 1, 0, 1, 1} → 2 {0, 0, 1, 1, 1} → 3 {1, 1, 1, 1, 1, 1} …

23
最短の一致しない正規表現
あなたの使命は、文字列が一致しない、空の文字列を含む最短の有効な正規表現を書くことです。 提出物は次の形式である必要があります(「リテラル表記」): /pattern/optional-flags 最短の正規表現が勝ちます。正規表現のサイズは文字でカウントされます。(スラッシュとフラグを含む) 正規表現の仕組みを説明してください(簡単でない場合) ありがとう、そして楽しんでください!

30
最も滑らかな数を見つける
あなたの課題は、与えられた範囲で最も滑らかな数を見つけることです。言い換えれば、最大の素因数が最小の数を見つけます。 なめらかな数は、その最大の素因数に小さいものです。このタイプの数値は、高速フーリエ変換アルゴリズム、暗号解読、およびその他のアプリケーションに役立ちます。 たとえば、範囲5, 6, 7, 8, 9, 108では、8が最大の素因数であるので8が最も滑らかな数値であり、他の数値はすべて3以上の素因数を持っています。 入力:入力は、範囲を定義する2つの正の整数になります。範囲の最小許容整数は2です。言語の範囲内で任意の範囲を指定できる限り、範囲が包括的、排他的、半排他的などであるかどうかを選択できます。関数入力、標準入力、コマンドライン引数、または言語の同等の方法で数値を取得できます。入力に追加情報をエンコードしません。 出力:入力範囲内で最大に滑らかな(最小の最大係数)1つ以上の整数を返すか、印刷するか、同等にします。複数の結果を返すことはオプションですが、そうすることを選択した場合は、結果を明確に区切る必要があります。ネイティブ出力形式は、複数の結果に適しています。 回答の中で、どのように入力を取り、出力を行っているかを説明してください。 スコアリング:コードゴルフ。ASCIIで記述されている場合は文字でカウントし、ASCIIで記述されていない場合は8 * bytes / 7でカウントします。 テストケース: 注:これらは、ローエンドを含むがハイエンドを含まないPythonスタイルの範囲です。プログラムに応じて変更します。必要な結果は1つだけです。 smooth_range(5,11) 8 smooth_range(9,16) 9, 12 smooth_range(9,17) 16 smooth_range(157, 249) 162, 192, 216, 243 smooth_range(2001, 2014) 2002

10
画像をツイートにエンコードする(Extreme Image Compression Edition)[終了]
Stack Overflow での非常に成功したTwitterイメージエンコーディングの課題に基づいています。 画像が1000ワードの価値がある場合、114.97バイトにどれくらいの画像を収めることができますか? 印刷可能なASCIIテキストのみを含む標準のTwitterコメントに画像を圧縮する汎用的な方法を思い付くように挑戦します。 ルール: 画像を取得し、エンコードされたテキストを出力できるプログラムを作成する必要があります。 プログラムによって作成されるテキストの長さは最大140文字で、コードポイントが32〜126の範囲の文字のみを含む必要があります。 エンコードされたテキストを取り、デコードされた写真を出力できるプログラム(おそらく同じプログラム)を作成する必要があります。 プログラムは外部ライブラリとファイルを使用できますが、インターネット接続や他のコンピューターへの接続は必要ありません。 デコード処理では、元の画像にアクセスしたり、元の画像を含めたりすることはできません。 プログラムは、ビットマップ、JPEG、GIF、TIFF、PNGの少なくとも1つの形式(必ずしもそれ以上ではない)の画像を受け入れる必要があります。サンプルイメージの一部またはすべてが正しい形式でない場合は、プログラムで圧縮する前に自分で変換できます。 判断: これはやや主観的な挑戦なので、勝者は(最終的に)私によって判断されます。重要性を減らすために、以下にリストするいくつかの重要な要因に判断を集中します。 サンプル画像としてリストされていないものを含む、さまざまな画像を圧縮する合理的な仕事をする能力 画像の主要な要素の輪郭を保持する機能 画像内の主要な要素の色を圧縮する機能 画像の細部の輪郭と色を保持する機能 圧縮時間。画像の圧縮率ほど重要ではありませんが、同じことを行う遅いプログラムよりも速いプログラムの方が優れています。 提出には、生成されたTwitterコメントとともに、解凍後の結果の画像を含める必要があります。可能であれば、ソースコードへのリンクを提供することもできます。 サンプル画像: ヒンデンブルク、 山岳風景、 モナリザ、 2Dシェイプ

20
ボーダートレンチを掘る
背景:ブランディアからの不法移民があまりにも多く、国境を越えてアスタンに来ています。Astanの皇帝は、それらを締め出すためにtrenchを掘ることをあなたに任せました、そして、Blandiaは費用の支払いをしなければなりません。すべてのタイピストはトレンチが配置されるまで抜け落ちているため、コードはできるだけ短くする必要があります。* 仕事: AstanとBlandiaの境界線の2Dマップを指定して、Blandsに境界トレンチの(土地を)支払うようにします。 例:マークされたAstanianセル、マークされたABlandicセル、マークさBれたトレンチセル+(マップフレームはわかりやすくするためのみです): ┌──────────┐ ┌──────────┐ │AAAAAAAAAA│ │AAAAAAAAAA│ │ABAAAAAABA│ │A+AAAAAA+A│ │ABBBAABABA│ │A+++AA+A+A│ │ABBBAABABA│ │A+B+AA+A+A│ │ABBBBABABA│→│A+B++A+A+A│ │ABBBBABBBB│ │A+BB+A++++│ │ABBBBABBBB│ │A+BB+A+BBB│ │ABBBBBBBBB│ │A+BB+++BBB│ │BBBBBBBBBB│ │++BBBBBBBB│ └──────────┘ └──────────┘ 詳細:マップには、少なくとも3行3列が含まれます。一番上の行は完全にアスタニアンであり、一番下の行は完全に無意味です。 入力と出力が一貫している限り、任意の3つの値を使用して、Astanian領域、Blandic領域、およびボーダートレンチを表すことができます。 オートマトン定式化:ムーア近傍に少なくとも1つのアスタニアンセルを持つBlandicセルは、境界トレンチセルになります。 テストケース [ "AAAAAAAAAA", "ABAAAAAABA", "ABBBAABABA", "ABBBAABABA", "ABBBBABABA", "ABBBBABBBB", "ABBBBABBBB", "ABBBBBBBBB", "BBBBBBBBBB" ] になる: [ "AAAAAAAAAA", "A+AAAAAA+A", "A+++AA+A+A", "A+B+AA+A+A", "A+B++A+A+A", "A+BB+A++++", "A+BB+A+BBB", "A+BB+++BBB", …

30
チェスの正方形の色を決定する
あなたの挑戦は、チェス盤から与えられた正方形の色を出力するプログラムを書くことです。これがチェス盤の見た目です: 正方形a1は暗く、h1は明るい正方形であることがわかります。あなたのプログラムは、正方形を与えられたときに、darkまたはを出力する必要がありますlight。いくつかの例: STDIN: b1 STDOUT: light STDIN: g6 STDOUT: light STDIN: d4 STDOUT: dark ルール: STDINを使用し、STDOUTを使用して出力darkまたはを出力する完全なプログラムを提供する必要がありますlight。 入力は常に有効であると仮定します([a-h][1-8]) これはcode-golfなので、最短バイト数が勝ちです! スコアボード var QUESTION_ID=63772,OVERRIDE_USER=8478;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} <script …
59 code-golf  chess 

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