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

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

8
感謝祭の七面鳥
(うまくいけば、それはまだあなたのための感謝祭です) 感謝祭のディナーに七面鳥を手に入れましたが、均等に分配する方法がわかりません。問題は、他の人よりも多く食べる人がいるので、解決策を見つける必要があるということです 入力 2つの入力があります。最初は様々な人々のアスキーアートになります。 o o \|/ \|/ | | | / \ / \ ascii-art仕様 各人は3列の幅を占めます。各人は、1列のスペースで区切られています。各人の最上部はoです。以下の下o、によってオフセット1及び-1Xは、であり\、および/それぞれ。からo入力の2行目から最後の行までは|、1人あたりのこれらの量が「高さ」です。各人から抽出する必要がある唯一のデータは、その「身長」です。 常に少なくとも一人はいるでしょう。各人は常に少なくとも 2つの高さを持っています。プログラムが処理する最大の高さは、少なくとも 64の高さです。 入力にスペースを埋めて長方形を形成したい場合は、回答でこれを指定してください。 2番目の入力は七面鳥です。七面鳥は実際には七面鳥ではなく、七面鳥のより多くのNxM次元です。2番目の入力がの場合、3x2トルコの寸法は3 * 2で、合計面積は6です。 出力 出力は、リストまたは言語の最も近い代替(例:配列)です。値をスペースで区切った文字列を出力することもできます。 各人の値は、入力された順に出力されます。 チャレンジ あなたの目標は、トルコの地域を人々の間で分割することです。 シナリオ例: 身長がそれぞれ3との2人であると想定し6ます。の七面鳥がある場合5x3。配布する必要がある七面鳥の総面積は15です。 では、どうやってそれをみんなに分配しますか?方法は次のとおりです。 the_persons_height TurkeyForAPerson = -------------------- * turkey_area sum_of_all_heights つまり、最初の人の身長がの3場合、彼らは3/9*15七面鳥を取得します。または5、2番目の人の身長がの6場合6/9*15、10七面鳥を取得します。 出力 .ボーナスを受け取ることを選択しない限り、出力は数字のみで構成されている必要があります。その場合、数字、スペース()、およびスラッシュ(/)のみで構成されます。 完全な例 入力: 6x5 o | o \|/ \|/ …

4
再配置の不等式
バックグラウンド 転位不平等は数字を並べ替えるに基づいて不平等です。同じ長さの数値の2つのリストがある場合、x 0、x 1、x 2 ... x n-1および同じ長さのy 0、y 1、y 2 ... y n-1で、ここでIリストの数値を並べ替えることができます。合計を最大化するには、x 0 y 0 + x 1 y 1 + x 2 y 2 + ... + x n-1 y n-1で2つのリストを並べ替えます減少しない順序。 読むWikipediaのこちらの記事を。 仕事 STDINから入力を受け取るプログラム、または数値(同じ長さ)の2つの配列(または関連するコンテナー)を受け入れる関数を作成します。 2つの配列(aとb)を受け入れる関数を作成すると仮定すると、最大化するために2番目の配列(b)の数値を再配置する方法の数がわかります。 a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+...+a[n-1]*b[n-1] この場合には、配列b [1であれば0、2 1、2 2、3 3、3 4、(明確にするための指標) [1 0、2 1、2 2、3 3、3 …

8
四捨五入時に1を追加する必要がある前に、小数点以下はいくつありますか?
数値を丸めるときに、次の桁が>= 51である場合は、例を示します。 3.1415926535 rounded to 1dp is 3.1 3.1415926535 rounded to 4dp is 3.1416 <-- Note the 5 changed to 6 3.1415926535 rounded to 5dp is 3.14159 3.1415926535 rounded to 9dp is 3.141592654 <-- Note the 3 changed to 4 課題は、整数を入力として受け取り、小数点以下の桁数を出力することです。その前に、数値の平方根を丸める必要があり>= 5ます。つまり、発生する数字の前の小数点以下の桁数です。 整数は0と100,000の間になるため、59752のエッジケースでは、17の小数点をサポートする必要があります(17番目をチェックするため)。 プログラミング言語で小数点の数を変更できない場合は、「?」を表示できます。ユーザーへのメッセージ。 例: Input Root Output 5 -> …
10 code-golf  math 

4
テキストをブロックに揃えます
仕事 あなたの仕事は、与えられた入力を与えられたサイズのブロックに整列させるプログラム全体を書くことです。 入力: 40 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse …

5
レーベンシュタイン距離バイアス
A文字列を指定してS、別のプログラミング言語の名前を出力する名前の言語でプログラムを記述しますB。長さBに等しくなければならないレーベンシュタイン距離(略称「LD」)の間AとS。プログラミング言語と見なされるにBは、esolangsページまたはWikipediaページが必要です。 例: (Suppose the program is coded in Python) Input: Jython Output: R Input: Pyt4oq Output: Go Input: Rs7hon Output: C++ 間のLD PythonとJython出力ので、一つでありますR 最大LDまでカバーする必要があり12ます。LDは0発生しないと想定できます。 これはcode-golfなので、バイト単位で最も短いプログラムが優先されます。 (これが私の最初の課題です!フィードバックを歓迎します) リーダーボード コードスニペットを表示 var QUESTION_ID=58974,OVERRIDE_USER=20260;function answersUrl(e){return"https://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"https://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 …
10 code-golf  string 

5
dog bashユーティリティを実装する
dog は任意の数の引数をとるコマンドラインユーティリティです。最初の引数は書き込むテキストで、その他は任意の数のファイルです。 dogユーティリティは、これらのファイルの上に等分してテキストを分割します。残りがある場合n、最初のnファイルは追加のバイトを取得します dogcatしたがってx、forall の反対です。以下が成り立つはずです。 $> dog x a.txt b.txt ... $> cat a.txt b.txt ... x$> どこで...任意に多くのファイルを示します。 例(12バイト、3ファイル、均等に分割可能): $> ./dog.py "Dogs vs Cats" a.txt b.txt c.txt $> cat a.txt Dogs$> cat b.txt vs $> cat c.txt Cats$> cat a.txt b.txt c.txt Dogs vs Cats$> 残りのある例(13バイト、5ファイル、残り3): 9$>./dog.py "0123456789abc" a.txt b.txt …

11
「i」には「i」の可能性がある
すべての0 <i <14について、i番目の数がi%の確率で発生する乱数ジェネレーターを設計します。0は正確に9%の確率で発生します。ジェネレーターのシードはシステム時間である必要があります。事前定義された関数を乱数生成に使用することはできません。 基本的に、1は1%の確率で発生し、2は2%の確率で発生し、13までは13%の確率で発生します。これはコードゴルフなので、最短のコードが優先されます。

4
斜めのストリップからテキスト長方形を再構成します
この課題は、マトリックスのすべての対角線を列挙することによるマトリックスのトラバースに関するSOの質問に触発されました。 マトリックスの代わりに、テキストのブロックを考えてみましょう: ABCD EFGH IJKL このブロックのSW-NEの対角線を左上から右に、左上隅から右下までトラバースすると、次の出力が得られます。 A EB IFC JGD KH L チャレンジ 上記の逆のプロセスを実行するプログラムまたは関数を記述します。つまり、セットのSW-NE対角ストリップを指定して、それを生成したテキストのブロックを出力します。 入出力 入力と出力の両方を、改行付きの文字列、または文字列の配列/リストとして表すことができます。 末尾の改行はオプションです。 入力は少なくとも1つの印刷可能な文字で構成され、正しいと見なすことができます(行の長さに一貫性がないことはありません)。 出力ブロックには常に、行数以上の列数があります。 テストケース 入力: A 出力: A 入力: . LI PO. PV. CE G 出力: .I.. LOVE PPCG 入力: M DA AIT LAR SGI /OX /N / 出力: MATRIX DIAGON ALS///
10 code-golf 

4
アバスト、あなたがたはたわごとだ!
黒ひげは、初期の18の英語の海賊だった番目の世紀。彼は略奪と船の乗船で知られていましたが、彼らの乗組員の許可を得て彼の船に命じました。彼が捕虜を傷つけたり殺したりしたことについての彼の説明はありません。 この挑戦は、悪名高い黒ひげを称えるものであり、海賊の日のような国際トーク(9月19日)に触発されました。また、ピュラによるこの課題の逆です。 チャレンジ トレジャーマップを入力として受け取り(下記の文字で構成)、その方向を出力するプログラムを作成します。 入力 すべての入力が構成されますv、>、<、^、空白、およびシングルX。 次のことを想定できます。 マップがループしたり、交差したりすることはありません 開始矢印は常に左端の列の一番下の文字になります 常に宝物があります(X) 入力例を以下に示します。 >>v >>>>>>v ^ v ^ v ^ v ^ v<< ^ v ^ v ^ >>>>^ >>X ^ >>^ 出力 出力は、-で", "区切られたルートの文字列である必要があります。以下は、上記のマップからの正しい出力です。 E2, N6, E2, S4, E4, N4, E6, S2, W2, S2, E2 単一の末尾の改行またはスペースが許可されます。 例 In: >>>>>>>>>>>>>>>v v v …
10 code-golf 

1
双曲線平面テッセレーションをプロットする
次のような双曲線平面上のテッセレーションのプロット(ポアンカレ円盤)を作成します。 プログラムは4つの入力を受け取ります。 1)エッジ/ポリゴンの数(この例では3つ)。 2)各頂点で交差する数(この例では7つ)。 3)レンダリングする中心の頂点から何ステップ離れているか(詳しく見ると、この例では5)。これは、中心から5ステップ以内で到達できる頂点が含まれることを意味します。エッジは、両方の頂点が含まれている場合にレンダリングされます。 4)画像の解像度(単一のピクセル数、画像は正方形)。 出力は画像でなければなりません。エッジは、線ではなく円弧としてレンダリングする必要があります(ポアンカレ円盤投影は線を円に変換します)。ポイントをレンダリングする必要はありません。ユーザーが双曲線でないもの(つまり、各頂点で5つの三角形が出会う)を入力する場合、プログラムは正しく動作する必要はありません。これはコードゴルフなので、最も短い答えが優先されます。

1
長い数字を短くする
コードゴルフで長い数値を扱う場合、コードの長さを短くすることが難しい場合があります。数値を短くして管理しやすくするためのヒントはありますか? たとえば、次のPythコードは "Hello world"を出力しますが、44バイトでは不十分です。 Vcjkj85942000775441864767076 2 7=k+kCiN2)k では、どうすれば長い数を短くでき85942000775441864767076ますか?
10 code-golf  tips  pyth 

1
数値省略表現を使用した式の評価
あなたはユーザーフレンドリーな計算機を作りたいと思っている会社で働いているので、ユーザーに「数値の省略形」、つまりkforのような数値を表す文字を使用する機能を追加する必要があります1000。あなたの会社は、計算機でストレージのコストを節約したいので、ストレージのコストを削減するために、コードをできるだけ最小限に抑える必要があります。 あなたのタスク STDINから入力として式を読み取るか、式をパラメーターとして受け取り、その評価を返すか、STDOUTに出力する関数を作成します。 いくつかの明確化 いくつか定義をさせてください。最初に、式と呼ぶ入力があります。これは次のようになります。 x + y / z :この式の中で、我々は3つの数字を持っているx、yとz、オペレータ(区切っ+と/)。これらの数値は、必ずしも正の整数(または整数)である必要はありません。複雑なのは、数値に含まれる省略形を評価する必要がある場合です。たとえば、 2k15 :評価の目的のために、我々は3つの数字にこれを分割2、1000(であるk)、および15。次に、ルールに従って、それらを組み合わせて 2*1000 + 15 = 2015 うまくいけば、次のルールを理解するのが少し簡単になります。 ルール 注意特に明記されていない限り、「数字」という単語またはその同義語を解釈して、省略形を含めることができます。 以下は、関数が処理できなければならない数値の省略形ですk, m, b, t, and e。それぞれk, m, b, and t値1000, 1000000, 1000000000, and 1000000000000(1,000、100万、10億、1兆)に対応します。e速記は常に、別の番号が続くn、と表しています10^n。数値の省略形が存在するn前に存在することを許可する必要がありますe。たとえば、はにkek評価され1000*10^1000ます。 簡単にするために、数字に省略形がある場合、その数字はe1回だけ使用されます。 省略形の前に任意の数(省略形を含む)が掛けられます。たとえば120kk、として評価され120 * 1000 * 1000ます。その前に数値がない場合は、数値が1であると想定する必要があります(数学では、変数をx暗黙的にとして扱う方法と同様1x)。たとえば、にe10評価され10^10ます。別の例:に2m2k評価されます2*1000000*2*1000(何も追加されません)。 省略形を含む数の最後の省略形に続く任意の数(省略形は適用されません)が追加されます。たとえば2k12、として評価され2*1000 + 12ます。これの例外は、省略形eが使用される場合です。その場合、後続の数(含まれる省略形)は次のeように扱われn、評価されます10^n(最初のルールを参照)。 関数は+, -, *, and /、それぞれ加算、減算、乗算、および除算である演算子を処理できる必要があります。必要に応じて、さらに処理する場合があります。 操作は操作の順序に従って評価されます。 …
10 code-golf 

4
後方関係
プログラムや関数を書く2つのASCII文字列を与えられ、そのAとB、文字列を生成しますA'し、B'共通部分文字列は、その場所にどこを逆転しています。検索のプロセスA'は次のとおりです。 A' 最初は空です。 最初の文字が場合AであるB、の最長プレフィックス見つけるAのサブであるがB。からこの接頭辞を削除しA、その逆をに追加しA'ます。 それ以外の場合は、この最初の文字をから削除しAてに追加しA'ます。 Aが空になるまで、手順2〜3を繰り返します。 検索B'も同様に行われます。 例 文字列A = "abc bab"とを考えてみましょうB = "abdabc"。の場合A'、これは何が起こるかです: A = "abc bab":最初の文字"a"はBにあり、Bで見つかったAの最長の接頭辞は"abc"です。このプレフィックスをAから削除し、その逆"cba"をA 'に追加します。 A = " bab":最初の文字" "はBにないため、この文字をAから削除してA 'に追加します。 A = "bab":最初の文字"b"はBにあり、Bで見つかったAの最長の接頭辞は"b"です。このプレフィックスをAから削除し、その逆(まだ"b")をA 'に追加します。 A = "ab":最初の文字"a"はBにあり、Bで見つかったAの最長の接頭辞は"ab"です。このプレフィックスをAから削除し、その逆"ba"をA 'に追加します。 A = "":Aは空なので停止します。 したがって、取得しA' = "cba" + " " + "b" + "ba" = "cba bba"ます。B 'の場合、プロセスは同様です。 …
10 code-golf  string 

5
INTERCALでのゴルフのコツ
INTERCALでゴルフをする上での一般的なヒントは何ですか?私はコードゴルフの課題に適用でき、少なくともINTERCALに固有のアイデアを探しています(「コメントの削除」は有用な回答ではありません)。 エキゾチックな言語がゴルフコンテストに勝つために本当に役立つことを私は知っていますが、私はこのあたりに多くのINTERCALコードを見ていません。人々がINTERCALで競争力のあるコードサイズを得るのに役立つアドバイスはありますか?この言語は競争力がありますか? INTERCALはあまり活用されていないため、タグもありません。とても悲しい...
10 code-golf  tips 

3
クノーデル数-Knを見つける
クノーデル数 クノーデル数は一連のシーケンスです。具体的には、正の整数のKnödel数は、と互いに素であるすべてがを満たすようなn合成数のセットです。特定のKnödel数のセットが示されます。(ウィキペディア)。mi < mmi^(m-n) = 1 (mod m)nKn たとえば、K1はカーマイケル番号、およびOEIS A002997です。彼らは次のようになります{561, 1105, 1729, 2465, 2821, 6601, ... }。K2はOEIS A050990で、のようになり{4, 6, 8, 10, 12, 14, 22, 24, 26, ... }ます。 あなたのタスク あなたの仕事は、プログラム/関数/その他を書くことです。それには2つの数値をとり、nそしてp。pKnödelシーケンスの最初の数を返す必要がありKnます。 これはcode-golfなので、バイト単位の最短コードが優先されます! 例 1, 6 -> [561, 1105, 1729, 2465, 2821, 6601] 2, 3 -> [4, 6, 8] 4, 9 -> …

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