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

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

3
単調関数を生成する
概要 この課題の課題は、2つのセット間で単調な数学関数をランダムに生成することです。 入力 入力は2つの正の整数sとnです。 これらの入力を取得した後、プログラムはへのセットからランダムな数学関数を生成します。換言すれば、取り込み「ルール」であるとの間の整数のタプルと、戻るそのような整数です。さらに、次の意味で単調でなければなりません。もしおよび2つのです、このようなタプルすべての座標についても同様で、その後、。f{0,1,...,s-1}n{0,1,...,s-1}fn0s-1fABnA[i] ≥ B[i]if(A) ≥ f(B) 単調関数の正確な分布は、fそのような各関数が生成される正の確率を持っている限り、問題ではありません(完全なRNGを想定)。 出力 出力は、の入力と出力の列挙ですf。それはすべて含まなければならないnとの間の整数のタプルを0し、s-1それぞれが、対応する出力に続いている、いくつかのためにf。正確な出力形式は柔軟です(理由の範囲内)。 例 入力s = 3およびn = 2出力を生成する場合があります (0, 0) 0 (0, 1) 1 (0, 2) 2 (1, 0) 0 (1, 1) 1 (1, 2) 2 (2, 0) 1 (2, 1) 1 (2, 2) 2 セットのすべてのペアが{0, 1, 2}1回だけ含まれ、各ペアの後にはf-value が続きます。単調性条件も満たされます。タプルはここでは辞書式順序で示されていますが、これは必須ではありません。 別の例として、s …

5
別の人生でお会いしましょう、ブラザ!
私たちのほとんどのロストファンは、デスモンドが108分ごとに「4 8 15 16 23 42」の文字を入力しなければならなかったコンピューターを覚えています。 ここでの課題は、入力4 8 15 16 23 42が108秒ごとに入力されるか、メッセージを表示することを要求することにより、同じことを行うプログラムを作成することです。 Sorry, the world has ended with status code -1 メッセージとともに数字を入力する必要があることを100秒でユーザーに警告する必要があります。 Enter, Quick! プログラムはいつでも入力を読み取ることができなければならず、それが正しい入力であれば、タイマーをリセットします。誤った入力が与えられた場合、何も起こりません。 プログラムは無期限に実行する必要があります。したがって、最後の有効な入力の後のタイムラインは次のようになります 0〜99秒:出力なし 100秒:Enter, Quick! 108秒:Sorry, the world has ended with status code -1。 これはコードゴルフなので、このタスクを達成する最短の回答(バイト単位)が勝ちです!幸運を!

30
文字列から繰り返し単語を削除する
入力された文から繰り返し単語をすべて削除します。 入力は次のようにcat dog cat dog bird dog Snake snake Snakeなり、出力はになりますcat dog bird Snake snake。単語を区切るスペースは常に1つです。 出力順序は入力と同じでなければなりません。(例を参照) 句読点を処理する必要はありませんが、大文字の処理が必要です。
12 code-golf  string 

2
SQL出力テーブルを描く
私たちのほとんどは、端末でSQLの結果を見て、行と列にきちんとフォーマットされていると確信しています。まだお持ちでない場合の例を以下に示します。 +----------+-----------+----------------+ | column 1 | column 2 | column 3 | +----------+-----------+----------------+ | data | more data | even more data | | etc | just goes | on and on | +----------+-----------+----------------+ この課題の目標は、テーブルの列と行のデータが与えられたら、このスタイルでテーブルを描画することです。テーブルの上下に水平線があり、ヘッダー行のすぐ下に1本あるはずです。すべての列とテーブルの両側に1本の垂直線が必要です。垂直線にはパイプ、水平線にはハイフン、交差する場所にはプラス記号を使用する必要があります。 詳細: データは、stdinを介して、または関数の引数として入力できますが、何らかの形式の文字列でなければなりません データは文字列区切り文字で分割する必要があります ; データはASCII文字のみで構成され、引用符で囲まれず、区切り文字は含まれません。 データの最初の行は列ヘッダーに使用されます データの列数は常に同じです 入力には常に少なくとも2行(1つのヘッダー、1つのデータ)が含まれます。空のセットを処理する必要はありません。 末尾または前の改行が許可されます 各列は最も幅の広い要素と同じ幅にし、右側に短い要素をパディングします(左側に数字をパディングするとボーナス-5%) 列が広い場合を除いて、ヘッダーとデータの前後に1スペースのパディングが必要です。 実際のmysqlプログラムを使用してテーブルを生成することは許可されていません 標準的な抜け穴が適用されます サンプル入力: column …
12 code-golf 

3
先の道路塗装
2つのパラメータlane patternとroad lengthを指定すると、Roads and Traffic Serviceが道路をペイントするための車線マークのASCII表現を出力します。 入出力の例 入力: BTHMLRPHU、21 2つのパラメーターを取るか、文字列の末尾に数値を連結するかどうかは気にしません。それは明確です。 入力は、関数の引数、環境変数など、言語で意味のあるものとして、STDINから取得できます。 出力: ! | x ## | | x x ! ! B | /\ x HOV3 ## <- | -> | ^^ x HOV3 x ! ! B | \/ x HOV3 ## | | | | ^^ x …

1
ゴルフウォーズエピソードI:ファントムライトセーバー
背景テーマ 前書き オビ=ワン・ケノービ、クイ=ゴン・ジン、ダース・モールが戦おうとしています!しかし、彼らはそれぞれのライトセーバーを持参するのを忘れていました。Jedi入力として文字列が与えられると、この*のような画像を生成するプログラムまたは関数を作成します。 文字列を指定すると、次のSithような画像が生成されます。 画像の仕様 3つのライトセーバー(端に丸いエッジを含む白いブレード(赤いものには2つの丸いエッジ)とハンドルを含む)は、900pxの長さです(これはブレードの周りの色のグラデーションを含みません)。 ブレードの端の丸いエッジは、ブレードの幅に等しい直径の半円(明らかに離散的な近似)です。 ブレード(ライトセーバーの白い部分)は幅12pxです。 緑と青のライトセーバーは、200ピクセル(緑のブレードの中心線から青のブレードの中心線まで)で区切られています。 3つのライトセーバーすべてのハンドルは180px(全長の1/5)です。したがって、丸いエッジを含むブレード自体の長さは、青と緑のライトセーバーでは720px、赤のライトセーバーの2つのブレードでは360pxです。 青と緑のライトセーバーのハンドルはライトセーバーの下部にあります。赤いライトセーバーのハンドルは水平方向の中央にあります。 白いブレードの端から完全に白い色までのグラデーションの長さは、1.5 *ブレードの幅です(たとえば、直線部分の場合は18px)。 緑のグラデーションは、RGB(0,255,0)から白(255,255,255)(または実装しやすい場合は透明)になります。赤のグラデーションは(255,0,0)から白になり、青のグラデーションは(0,0,255)から白になります。 ハンドルの色はRGB(128,128,128)です。 ライトセーバーの周りに白い空のスペースがある場合があります。 入力 どちらかSithまたはJedi文字列として。この文字列は、STDINから、関数の引数、コマンドラインパラメーター、または同様のものとして取得できます。あなたは、入力が常に正確にSithまたはJedi他の何もないと仮定するかもしれません。 出力 入力文字列に対応する画像を含む画像ファイルを生成する必要があります。True Colorである限り、必要な画像形式を自由に選択できます。画像で。 得点 これはcode-golfであるため、バイト単位の最短回答が優先されます。力があなたと共にありますように。 *この投稿の画像はフルサイズで表示されません。

14
合成番号シーケンス
合成番号シーケンス この質問に触発された 正の整数nを指定すると、コードは最初のn個の合成数を出力する必要があります。 入出力 プログラムまたは関数を作成できます。入力はSTDINまたは関数の引数を介して行われ、出力はSTDOUTまたは関数の戻り値を介して行われます。 出力は、リスト、配列、または文字列です。 例 0 -> 1 -> 4 2 -> 4, 6 3 -> 4, 6, 8 13 -> 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22 ルール いつものように、標準的な抜け穴は許可されていません。 素数または合成数を生成するビルトインは許可されていません。 素数または合成数に関連するビルトインは許可されていません。

8
Barcodegolf:数値のUPCを生成する
最近では、ほぼすべての店舗でUniversal Product Code(UPC)バーコードを使用して、チェックアウトプロセスを簡素化しています。名前があなたにとって何の意味も持たない場合、あなたは彼らがどのように見えるかを確実に認識するでしょう: フォーマット 最も一般的なシステムはUPC-Aで、12桁を使用して特定の製品を表します。各桁は一連の黒と白のストライプにエンコードされ、マシンが7ビット長のコードを読み取れるようにします。バーコードの開始、中間、終了を示す合計11ビットのパターンがあります。これにより、バーコードの合計長は12×7 + 11 = 95ビットになります。(これから、各ビットの色を参照するためにバイナリが使用される場合、0白と1黒になります。) 開始と終了の両方のパターンがあり101ます。次に、数字は6つの2つのグループに分割され、以下に示すようにエンコードされます01010。左右のグループの間にパターンがあります。次の表に、各番号のパターンを示します。パターンは、数字が右側にあるか左側にあるかによって異なります(これにより、バーコードを上下逆さまにスキャンできます)。ただし、右のパターンは左のパターンの反対です(白を黒に、逆に白をスワップ)。 上の画像が表示されない場合、これは各数値のバイナリに相当します。 # Left Right 0 0001101 1110010 1 0011001 1100110 2 0010011 1101100 3 0111101 1000010 4 0100011 1011100 5 0110001 1001110 6 0101111 1010000 7 0111011 1000100 8 0110111 1001000 9 0001011 1110100 例 UPCを持っているとしましょう022000 125033。(これらは乱数ではありません。それらの重要性を理解したら、コメントを残してください。)すべてのバーコードで同じこの定型文から始めます。 101xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx01010xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx101 数字については、各数字を、それが存在する側(左または右)に対応するエンコードに置き換えます。まだ混乱している場合は、下の画像を参照してください。 以下は、|パーツを分離するパイプを使用したバイナリ出力です。 …

2
不可解なキッカー//
不可解なキッカー テキストを暗号化する一般的だが安全ではない方法は、アルファベットの文字を入れ替えることです。言い換えると、アルファベットの各文字は、テキスト内で一貫して他の文字に置き換えられます。暗号化が可逆的であることを保証するために、2つの文字が同じ文字に置き換えられることはありません。あなたの仕事は、各行が異なる置換のセットを使用し、解読されたテキストのすべての単語が既知の単語の辞書からであると仮定して、テキストのいくつかのエンコードされた行を解読することです。 入力 入力は、アルファベット順の小文字の単語で構成されます。これらの単語は、復号化されたテキストに表示される単語の辞書を構成します。辞書に続いて、入力のいくつかの行があります。各行は上記のように暗号化されます。 辞書にあるのは1,000語以下です。16文字を超える単語はありません。暗号化された行には小文字とスペースのみが含まれ、長さは80文字を超えません。 出力 各行を復号化し、標準出力に出力します。複数の解決策がある場合は、いずれでも解決できます。解決策がない場合は、アルファベットのすべての文字をアスタリスクに置き換えます。 サンプル入力 and dick jane puff spot yertle bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn xxxx yyy zzzz www yyyy aaa bbbb ccc dddddd サンプル出力 dick and jane and puff and spot and yertle **** *** **** *** **** *** **** *** …

2
ペアコンデンサ
コンデンサは高い公差で製造されていることで有名です。これは多くの場合許容されますが、許容範囲の厳しいキャパシティが必要になる場合があります。必要な正確な値で容量を取得する一般的な戦略は、慎重に測定した2つのコンデンサを並列に使用して、容量が必要な範囲内になるようにすることです。 この課題の目標は、(複数の)容量のセットが与えられ、各ペアの合計容量が所定の範囲内になるようにコンデンサをペアにすることです。また、最適なペアリングのセット、つまり、できるだけ多くのペアが見つかるようなペアリングのセットを見つける必要があります。 制約 入力は選択した形式で構成されます 持っているコンデンサの(複数の)セットを表す容量の順序なしリスト ターゲット範囲の下限と上限を表す容量のペア(包括的) 入力のすべての容量は2 30より小さい正の整数であり、単位はpFです(それは重要ではありません)。 入力の容量のリストに加えて、所有するコンデンサのセットには、値が0 pFのコンデンサが無限に含まれています。 出力は、各ペアの合計が指定されたターゲット範囲内になるように、容量のペアのリストを選択の形式で構成します。ペアの順序もペア内の容量の順序も指定されていません。 出力の容量は、お持ちのコンデンサのセットよりも頻繁に表示されることはありません。つまり、出力するペアは重複してはなりません。 プログラムが生成する出力よりも多くの容量のペアを含む、条件4および5を満たす出力はありません。 プログラムはO(n!)時間で終了します。nは、所有するコンデンサのセットを表すリストの長さです 抜け穴は悪用されない 目標範囲は空であってはなりません 得点 スコアは、オクテット単位のソリューションの長さです。ソリューションがこの問題を多項式時間O(のn のkいくつかのために)のk、これは実際に可能であるならば、私は知らない10であなたのスコアを分割します。 サンプル入力 範囲100〜100、入力配列 100 100 100、有効な出力: 0 100 0 100 0 100 範囲100〜120、入力配列20 80 100、有効な出力: 0 100 20 80 出力20 100は無効です 範囲90〜100、入力配列50 20 40 90 80 30 60 70 40、有効な出力: 0 90 …

2
戦利品の折り目
前書き 長い戦いの後、謎のコンテストでスフィンクスを倒すことに成功しました。あなたのスキルに感銘を受けたスフィンクスは、あなたにあなたの賢さに見合った報酬を与えたいと望み、それぞれ数字を含む8つの箱に分割された魔法の羊皮紙のストリップを存在に想起させます。 「羊皮紙を減らしてください」とスフィンクスは言います、「箱が重なり、それらの箱が足し算または掛け算のいずれかによって融合するように。1つの箱が残っているとき、その価値は金貨であなたの報酬になります。」 仕事 8つの自然数のリスト/配列/いずれかを入力として受け取り、一連の「折り目」操作を通じて取得可能な最大の報酬を返す/印刷するプログラムまたは関数を作成する必要があります。 力学 「折り目」操作は、いくつかのセルに対して、+または*演算子として、または演算子として実行されます。リストの最初のn個のセルは折り返され、演算子を使用して宛先セルとマージされます。マージ操作で消費されないセルは変更されません。 n = 3セルを使用して折り目を付ける例を次に示します。 いずれかの追加を使用すると、次の結果になります。 または乗算。これは次のようになります。 注:簡単にするために、リストの長さ以上のセル数で折り目を付けるのと同様に、1セル未満の折り目は許可されません。ただし、リストは、そのセル数の半分以上増加する可能性があります。 8セルのリストは、5ずつ折りたたむことができ、長さ5の新しいリストに なります。演算子を[0,1,2,3,4,5,6,7]使用して5セルずつ折りたたむと、+[9,9,9,1,0] 得点 標準コードゴルフルール-正しい出力を生成し、バイト数が最も少ないコードが勝ちます。 ボーナス:コードが最大の報酬につながる折り目操作のシーケンスも返す/印刷する場合は、スコアに0.8を掛けます。出力例は次のようになります。 crease 5 + crease 2 * crease 2 + crease 1 * 例 次の形式で、これらの入力と結果を使用してコードをテストしますinput - maximum reward。 [0, 1, 2, 3, 4, 5, 6, 7] - 7560 [0, 9, 0, 3, 2, …

1
有効な迷路の数
与えられたWxHグリッドを、どのように多くの可能な迷路がありますか? 迷路について知っていること: グリッドのH高さは正確に正方形で、W幅は正方形です。 開始、終了、空の3つのタイプの正方形があります。迷路には、開始と終了がそれぞれ1つだけ含まれている必要があり、残りのすべての正方形は空です。 迷路全体を囲む壁があります。 以下の規則に違反しない限り、壁は任意の2つの正方形の間のエッジに存在できます。 開始広場から終了広場までのパスが存在する必要があります。 したがって、との2つの数値を指定するWとH、可能な正方形/壁構成の数を表す単一の数値を返す必要があります。あなたは保証されていますW*H > 1 たとえば、2x2迷路の100構成はまったく異なります。 これはコードゴルフなので、最短の答えが勝ちです!

5
テンキーの周りの確率を生成する
今日のこの質問に触発されて、さまざまなプログラミング言語がテンキーを確率に変える興味深い方法を見たいと思います。一般的に、タイルベースのゲームでは、テンキーを使用して、キャラクターが現在いる場所に基づいて任意の方向に移動できます。これらのゲームのAIを作成するときMath.random() * 8は十分ではないので、動きを少し自然に見えるようにするために少し創造的である必要がありました。 テンキーは次のように定義されます: 7 | 8 | 9 - - - - - 4 | x | 6 - - - - - 1 | 2 | 3 5は無効な数字であることに注意してください。自分自身に進むことはできません。 すべての例でこれらの確率を使用します。 [50, 40, 30, 20, 10] 周りの確率を生成したい場合は8、次のようになります。 40 | 50 | 40 -- | -- | -- 30 | xx …
12 code-golf 

30
その言葉にサインしてください!
ワードシグネチャとは何ですか? 単語の署名は、それのすべての文字を順番に入れている-署名のthis、histそしてhitsすべてですhist。 チャレンジ プログラムを書くプログラムは入力を要求し、その単語の署名を印刷する必要があります。したがって、プログラムの実行例は次のようになります。 Give me a string: this The signature signature of 'this' is hist. 入力を受け取って署名を印刷する限り、必要な相互作用はありません。 得点 最小バイト数のプログラムが勝ちます! リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes コードスニペットを表示 var QUESTION_ID=54945;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 getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var …

1
シングルスーテッドマージャンのハンドバリューを確認する
麻雀は、アジアで非常に人気のあるタイルゲームです。通常、4人のプレイヤーでプレイされ、ゲームの目標は、タイルを使用して有効なハンドを完了する最初の人になることです。麻雀には3つのタイルスーツと名誉タイルがあります。この課題では、単一のスーツのタイルを使用して形成された手のみを検討します。 タイルから番号が付けられている1と9、各タイルの4つのコピーが正確にあります。有効なハンドは、3セットと4組の合計4つのタイルで構成されます。 3つのセットは次のいずれかです。 トリプレット、同じタイルの3つ(例444)、または 三つの連続タイル(例えば、一連の123か678ではなく357)。シーケンスはラップしません(912無効です)。 ペアは、単純に2つの同一のタイルです(例:)55。 チャレンジ 14タイルの有効なハンドが与えられたら、次の基準に基づいてスコアを決定します。 Condition Description Point/s ------------------------------------------------------------------------------- Straight Contains the sequences 123 456 789 1 Identical sequences Contains two identical sequences 1 All simples Only 2-8, no 1s or 9s 1 All sequences All sets of three are sequences 1 All triplets All sets of …
12 code-golf  game 

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