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

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

7
解釈> <>(魚)
&gt; &lt;&gt;は人気のある言語ではありませんが、ゴルフに適している可能性があり、このWebサイトで使用されています。Befungeに触発され、その指示にいくつかの類似点があります。 必要なコマンド: &gt; &lt; ^ v 指示ポインターの方向を変更します(右、左、上、下) / \ | _ # ミラー。ポインターは、すでに持っている方向に応じて方向を変えます。 x ランダムな方向。 + - * , % それぞれ、加算、減算、乗算、除算、モジュロ。AとBをスタックからポップし、B演算子Aをプッシュします。0で除算するとエラーが発生します。 0-9 a-f 対応する値をスタックにプッシュします。a = 10、...、f = 15 = スタックからAとBをポップし、B = Aの場合は1をプッシュし、そうでない場合は0をプッシュします。 ) より大きい。AとBをスタックからポップし、B &lt;A ( より小さい場合は1をプッシュします。AとBをスタックからポップし、B&gt; Aの場合は1をプッシュし ' " ます。文字列解析を有効にします。文字列解析は、閉じ引用符が見つかるまで、見つかったすべての文字をスタックにプッシュします。 ! 次の命令をスキップします。 ? スタックのトップがゼロの場合、またはスタックが空の場合、次の命令をスキップします。(注:これはスタックから何もポップしません!)スタック : の一番上の値を複製します。 ~ スタックから一番上の値を削除します。 …

30
最初はグー、じゃんけん
古典的なじゃんけんを実装します。 条件: ユーザーは「r」、「p」または「s」を入力します プログラムは「r」、「p」または「s」と結果を出力します プログラムの選択( 'r'、 'p'または 's')は擬似ランダムでなければなりません(ハワードを見ています) 結果は、任意の印刷可能な文字で表すことができます。ユーザーが入力したもの(ユーザーが勝ち、負け、または引き分け)の場合、常に3つの結果が考えられます。 ユーザーが何も入力しなかった場合、または「r」、「p」、「s」とは異なる何かが重要でない場合はどうなりますか。 必要がある: ゴルフコードを提供します。 改変されていないコード どのようにプログラムを呼び出しますか サンプル実行 タイが最も多く投票された回答を提示する場合は、文字数の少ない回答を選択します。 良いゴルフと幸運があなたに有利になるかもしれません。 私は自分の答えをJavaで投稿します。 岩の下の山に住んでいる人のために: r =ロック p =紙 s =はさみ 岩:はさみに勝ち、紙で負け、岩と結びます。 紙:岩に勝ち、ハサミで負け、紙でネクタイ。 はさみ:紙に勝ち、岩で負け、はさみでネクタイ。 現在のポジション: UN:ユーザー名 PL:プログラミング言語 CC:文字数 UV:賛成票 ╔══════════════════╦════════════╦══════╦════╗ ║ UN ║ PL ║ CC ║ UV ║ ╠══════════════════╬════════════╬══════╬════╣ ║ Howard ║ GolfScript ║ 6 …
21 code-golf  game 

24
文字列のFizz-Buzzify
小文字と大文字の両方の英字(ASCII 65-90および97-122)の文字のみを含む文字列が与えられます。あなたの仕事は、文字列のFizz-Buzzifiedバージョンを出力することです。 文字列をFizz-Buzzifyする方法は? 英語のアルファベットに偶数のインデックスがあるアルファベット(アルファベットは 1から始まる必要があります:)は、小文字の場合と大文字の場合()a-&gt;1,b-&gt;2,...,z-&gt;26に変換されます。fizzFIZZf -&gt; fizz, F -&gt; FIZZ 英語のアルファベットに奇数のインデックスがある各文字は、buzz小文字のBUZZ場合と大文字の場合(e -&gt; buzz, E -&gt; BUZZ)に変換されます。 文字列CodeGolf(わかりやすくするためにスペースを追加)を使用して、アルゴリズムを説明する例を示します。 "C o d e G o l f" -&gt; "BUZZ buzz fizz buzz BUZZ buzz fizz fizz" ^ ^ ^ ^ ^ ^ ^ ^ 1 1 0 1 1 1 0 0 …
21 code-golf  string 

26
A、またはAn?
英語では、andとの間には楽しく簡単な違いがanありaます。an母音で始まる単語の前aと、子音で始まる単語を使用するときに使用します。 この課題を簡単にするためにan、母音(aeiou)でa始まる単語の前に、子音で始まる単語の前に置きます。 入力 印刷可能なASCII文字のみで構成される文字列。[?]挿入anまたはを選択する必要がある場所に表示されますa。[?]常に単語の前に表示されます。文は文法的に正しく、通常のようにフォーマットされると想定できます。 出力 [?]適切な単語(anまたはa)に置き換えられた入力文字列。大文字の使用について心配する必要はありません! 大文字にするタイミング 単語の前に文字がない(入力の最初の単語)場合、または単語の前に.?!スペースが続く場合は、単語を大文字にします。 例 Input: Hello, this is [?] world! Output: Hello, this is a world! Input: How about we build [?] big building. It will have [?] orange banana hanging out of [?] window. Output: How about we build a big building. It will …

6
ASCII接続の六角形
概要 多数の六角形が与えられたら、それらを50 x 50のASCIIアートイメージの範囲内で接続された形状に配置します。選択する形状は、接続されている限り、ゴルフに最も適していると思うものであれば何でもかまいません。1つの六角形よりも大きい場合は、穴が開いている場合があります(そうでない場合、六角形の数があいまいになります)。 レイアウト すべての六角形は次の形式である必要があります(このサイズと向きのみが有効です)。 __ / \ \__/ Note there are 2 underscores per horizontal edge. 2つの六角形がエッジを共有する場合、それらは直接接続されます。 __ __ / \__ / \ \__/ \ \__/ \__/ or / \ \__/ 2つの六角形は、頂点のみを共有している場合、接続されていません。 __ __ / \/ \ \__/\__/ エッジの半分を共有することも、接続されているとは見なされません。 __ / \ \__/ / \ \__/ 直接接続された六角形のみを使用して、六角形から他の任意の六角形へのパスが存在する場合、六角形のコレクションが接続されます。 穴 …

14
Semordnilapsを見つける
Semordnilaps(ヘテロパリンドローム、セミパリンドローム、ハーフパリンドローム、リバーズグラム、マイノリーテス、リバーシブルアナグラム、ワードリバーサル、またはアナドロームとも呼ばれる)は、逆スペルの場合もワードです。以下に例を示します。 区&lt;=&gt;引き分け マイニング&lt;=&gt;デニム パーツ&lt;=&gt;ストラップ (関数の引数またはSTDINを介して)正の整数Nが与えられると、この英語の単語のリストから、正確にN文字のsemordnilapsのリストを返す/出力します。単語のリストは、次の名前のテキストファイルとしてコンピューターにローカルに保存できますw.txt。URLからリストを取得することもできますが、バイトカウントに含まれます。 ルール: 回文はsemordnilapsではありません!したがって、「正午」、「ローター」、および「レーダー」という単語はリストに含めないでください。 (semordnilapペアの)単語の1つだけをリストに含める必要があります。したがって、「犬」がリストに含まれている場合、「神」は含まれません(どちらが含まれているかは関係ありません)。 semordnilapsがない場合、出力は空の文字列、0、FALSE、または結果がなかったことを示す他のものでなければなりません。結果がなくても、関数は機能する必要があります。 これはコードゴルフなので、バイト単位の最短コードが勝ちです! リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, &lt;s&gt;104&lt;/s&gt; &lt;s&gt;101&lt;/s&gt; 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## [&gt;&lt;&gt;](http://esolangs.org/wiki/Fish), 121 bytes コードスニペットを表示 var QUESTION_ID=42090,OVERRIDE_USER=44713;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;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&amp;&amp;answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return …
21 code-golf 

20
特定の年の各月の最後の日曜日を見つける
140文字内で既知のF#ソリューション。これはRosetta Codeの問題です。 入力年のstdoutまたは文字列変数に必要な結果2014: 2014-01-26 2014-02-23 2014-03-30 2014-04-27 2014-05-25 2014-06-29 2014-07-27 2014-08-31 2014-09-28 2014-10-26 2014-11-30 2014-12-28 要求されたように、1900の場合: 1900-01-28 1900-02-25 1900-03-25 1900-04-29 1900-05-27 1900-06-24 1900-07-29 1900-08-26 1900-09-30 1900-10-28 1900-11-25 1900-12-30 そして2000: 2000-01-30 2000-02-27 2000-03-26 2000-04-30 2000-05-28 2000-06-25 2000-07-30 2000-08-27 2000-09-24 2000-10-29 2000-11-26 2000-12-31 日付はほとんどの言語で不器用さをもたらすように見えるので構いません。日付ライブラリを許可する以上に、それらを参照してください!ただし、ベース言語の外部の場合は、投稿の名前で宣言します(C#+ Jon SkeetのNodaTimeなど)。 明確化: 年の範囲1900〜3015 グレゴリオ暦 それ以外に問題がある場合は、英国/ロンドンにとって慣習的なものは何でも。 コマンドラインスイッチまたは標準入力を使用するプログラムは正常であり、標準出力に結果を生成します。 年の値を取得して文字列を返す関数も問題ありません。 …
21 code-golf  date 

8
JavaでIllegalArgumentExceptionをスローする最短コード
オーケー、私たちは皆、JavaでIllegalArgumentExceptionをスローする通常の方法を知っています。 throw new IllegalArgumentException(); // 37 characters ただし、より短い(文字数の少ない)方法が必要です。さらに少ないコードでjava.lang.IllegalArgumentExceptionを生成するにはどうすればよいですか? コードフラグメントは、java 7でコンパイルおよび実行する必要があります。 インポート/外部パッケージなし(例:を使用しないjava.util.Arrays.toString()) 唯一の例外:java.langは自動的にインポートされるためです。 独自のメソッド/クラスを追加できます。 java.lang.IllegalArgumentExceptionをスローする必要があります 編集:エラー出力(stacktrace)はjava.lang.IllegalArgumentExceptionと命名する必要があるため、サブクラスはありません。 開始するベースを持つには: class Titled { public static void main(String[] args) { throw new IllegalArgumentException(); } }
21 code-golf  java 

25
Code-Golf:順列
整数のセット(リスト、配列、または個別の番号を持つ他のコンテナ)を入力として受け取り、すべての順列のリストを出力する関数を作成します。 Python(95文字): p=lambda s:s and sum(map(lambda e:map(lambda p:[e]+p,p(filter(lambda x:x!=e,s))),s),[]) or [[]] 同じ言語でbeatられたらいいのですが、他の言語での実装は大歓迎です!

23
インデックスからExcel列名を生成
これは実生活の問題から来ています。もちろん、それを解決しましたが、もっとうまくできたような気がし続けます。それは長すぎて回り道の解決策だと。しかし、私の同僚は誰もそれをより簡潔に書く方法を考えられません。したがって、私はそれをコードゴルフとして提示します。 目標は、Excelが列ヘッダーを表示するのと同じ方法で、負でない整数を文字列に変換することです。したがって: 0 -&gt; A 1 -&gt; B ... 25 -&gt; Z 26 -&gt; AA 27 -&gt; AB ... 51 -&gt; AZ 52 -&gt; BA ... 16,383 -&gt; XFD それは仕事にあり、少なくとも 16,383まで、しかし超えても(ノーボーナスポイントが)可能です。私はC#ソリューションを最も楽しみにしていますが、コードゴルフの伝統に従って、実際のプログラミング言語はすべて歓迎します。

30
eの近似
eで表される、変数xの累乗に対するオイラーの数は、Maclaurin級数展開を使用して近似できることは誰もが知っています。 xを1に等しくすることにより、 チャレンジ 入力Nを取り込み、N番目の項までの系列を計算することにより、オイラーの数を近似する任意の言語でプログラムを作成します。最初の項の分母は0!であり、1!ではないことに注意してください。つまり、N = 1は1/0!に対応します。 得点 最小バイト数のプログラムが優先されます。

24
10ピンボウリングスコア-ワールドボウリングエディション
ワールドボウリングの得点 多くの人が地元のボウリングセンターに行ってボウリングのゲームを数回行っており、多くの人がスコアの計算に苦労しています。ワールドボウリングは、より多くの人々をスポーツに引き付けるために、単純化されたスコアリングシステムを導入しました。このスコアリングシステムは、国際的なゲームで利用されています。 スコアリングシステムは次のように機能します(Wikipediaから)。 「現在のフレームスコアリング」[32]と呼ばれるワールドボウリングスコアリングシステムは、次のようにピンを授与します。 ストライク:30(ロールの結果に関係なく) スペア:10プラス現在のフレームの最初のロールのピンフォール オープン:現在のフレームの合計ピンフォール 10ピンボウリングに慣れていない場合は、ここで要約します。 ボウリングレーンの端には10本のピンがあり、ゴールはそれらすべてをボウリングボールで倒すことです。ボールを2回ロールして、それらをすべてノックダウンしようとします。できれば、最初のロールでそれらをすべてノックダウンしてください(ストライクとして知られています)。ストライクをした場合、そのフレームは完成しているので、ボールをもう一度転がす必要はありません。ストライキは30の価値があります。 10個すべてをノックダウンしなかった場合、もう1回ロールします。残りのピンをすべてノックダウンすると、スペアとして知られています。スコアは10ピン+最初のロールでノックダウンされたピンの数に相当します。たとえば、7つのピンをノックダウンした場合、残りの3つをノックダウンできたので、17の価値があります。 2回目のロールの後、10個すべてをノックダウンできない場合、それはオープンフレームとして知られています。スコアは、そのフレームでノックダウンされたピンの総数に相当します。 ゲームには10個のフレームがあります。従来のボウリングスコアリングに精通している場合、ワールドボウリングスコアリングで10番目のフレームに余分なロールはありません。従来のボウリングスコアリングでは、300の完全なスコアを得るには12回連続でストライクが必要でしたが、ワールドボウリングスコアリングでは10回の連続ストライクしか必要ありません。 チャレンジ あなたの課題は、スコアシートから値を与えられたスコアを計算することです。 スコアシートでは、ミスはダッシュ(-)、ストライクはX、スペアはスラッシュ(/)で示されます。これらが当てはまらない場合、ピンフォールカウントは単に数字(1-9)で示されます。ファウルとスプリットもスコアシートに記録されますが、これらについて心配する必要はありません。 入力 各フレームのスコアで構成される文字列が与えられ、合計10フレームになります。各フレームには最大2つの値があり、ストライクが発生した場合は1つの値になります。入力は、関数への文字列パラメーター、ファイル、またはSTDINから読み取ることができます。 たとえば、最初のロールで1つのピンをノックダウンしてから2をノックダウンすると、フレームは「12」のようになります。これは12(12)を意味するのではなく、1と2を意味し、合計3です。 両方のロール(ガターボール)ですべてのピンを見逃した場合、この「-」(スコア0)のように見えます。 各フレームはスペースで区切られます。 サンプル入力 -- 9- -9 X -/ 8/ 71 15 44 X この例を分解するには、 フレーム1(-)-両方のロールが失敗しました。0点数 フレーム2(9-)-最初のロールで9をノックダウンし、2番目のロールでミスしました。スコア9 フレーム3(-9)-1回目はすべて逃し、2回目は9回逃しました。スコア9 フレーム4(X)-ストライク、10個すべてをノックダウン。スコア30 フレーム5(-/)-スペア、最初はすべてミス、2回目はすべてノックダウン。スコア10 + 0 = 10 フレーム6(8 /)-スペア、最初のロールに8ピン、2番目のロールで他の2つをノックダウン。スコア10 + 8 = 18 フレーム7(71)-オープンフレーム、最初のロールに7ピン、2番目のロールに1ピン。スコア7 + 1 …

16
表現をシグマ化する
知らなかった人のために、シグマ はギリシャ語の文字であり、数学で加算記号として頻繁に使用されます。を表す依存する式を表す文字列が与えられた場合、各について結果の合計を計算します。簡潔には、次のようなを見つける必要があります。kkkE(k)E(k)E(k)E(k)E(k)E(k)k∈{1,2,3,4,5}k∈{1、2、3、4、5}k\in\{1,2,3,4,5\}SSS S=∑k=15E(k)S=∑k=15E(k)S=\sum^5_{k=1}E(k) 式の例:E(k)=k2+k2E(k)=k2+k2E(k)=\frac k 2 + k^2 スペック あなたは保証されています: 式が有効であるため、エラーが含まれておらず、選択した構文に依存していること(例:サポートしている場合のみ2*k、なし2k) あなただけの結果の中で値が定義されているので、のように何の値に1/0、infまたはがnan表示されません 上記の式は、選択したプログラミング言語の制限に適合しているため、オーバーフローやその他の制限に関連するエラーは発生しません。 代わりに他の非空白ASCII文字をk選択できます プログラムは次の操作をサポートする必要があります。 さらに(+、plus()、add()、sum()) 減算(-、minus()、subtract()) べき乗(**、^、pow()負塩基および指数に支持して、または他の指定されなければなりません) 形で平方根sqrt(k)、k^0.5、k**0.5あなたが望む、またはしかし、他 乗算と除算 提出は、完全なプログラムまたは機能のいずれかであり、その使用法について言及しています 出力時に、後続の/先頭の空白は許可されます 最小精度:小数点以下2桁 テストケース(with k) +---------------+--------------+ | Input = E(k) | Output | |---------------+--------------| |2*k | 30 | |---------------+--------------| |sqrt(k) | 8.38 | (* with minimum decimal precision) |---------------+--------------| |k+k/2+k**2 …

30
正方形を作ってみてください!
仕事 空白以外の印刷可能な文字を1つ指定して、その入力の3x3の正方形表現を作成します。たとえば、入力がの場合#、出力は次のとおりです。 ### # # ### ルール 出力形式は厳密ですが、末尾の改行を使用できます。つまり、中央にスペースが必要であり、3行を区切る2つの改行文字も必要です。 テストケース 入力: # 出力: ### # # ### 入力: A 出力: AAA A A AAA 入力: 0 出力: 000 0 0 000 得点 これはcode-golfです。バイト単位の最短回答が優先されます。

12
LípínguapuadopoPêpê
LínguadoPê、またはP Languageは、ブラジルとポルトガルでポルトガル語で話される言語ゲームです。オランダ語やアフリカーンス語など、他の言語でも知られています。(ウィキペディア) この言語ゲームにはいくつかの方言があります。ゲームで使用されるさまざまな言語には、独自の方言があります。一部の人々はP言語を話すことに堪能で、最高の人はその場で好きな方言にテキストを翻訳することさえできます! P言語 この課題では、Double Talk方言を使用します。 テキストをP言語に翻訳するには、テキスト内の母音のシーケンスに1 p文字を追加し、その後に母音のシーケンスのコピーを追加します。 チャレンジ 文字列を入力として受け入れ、その翻訳をP言語で出力する関数またはプログラムを作成します。 入力は、印刷可能なASCII文字のみで構成されます。 出力は、翻訳された入力とオプションで末尾の改行のみで構成されます。 母音は、次の文字のいずれかですaeiouyAEIOUY。 母音のシーケンスは、他の文字で区切られます。文字列に"Aa aa-aa"は3つの母音シーケンスがあります。 オプションで、変換された出力文字列から先頭と末尾の空白を省略できます。 例 "" =&gt; "" "Lingua do Pe" =&gt; "Lipinguapua dopo Pepe" "Hello world!" =&gt; "Hepellopo woporld!" "Aa aa-aa" =&gt; "AapAa aapaa-aapaa" "This should be easy, right?" =&gt; "Thipis shoupould bepe eapeasypy, ripight?" "WHAT ABOUT …
20 code-golf  string 

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