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

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

6
数値を「まったく価値のないシステム」に変換する
数値の長さmのn番目の値(右から左にカウント)の最大桁が常にm-n + 1に等しい数値のシステムを作成します。例を挙げると、このシステムで表現可能な最大5桁の数値12345と書かれています。特定の場所で使用できる桁数が制限されていることを除けば、他のすべての増分は標準です。つまり、桁がその桁制限を超える場合、次の桁に1を追加します。 このシステムでカウントがどのように表示されるかを次に示します。 1; 10; 11; 12; 100; 101; 102; 103; 110; 111; 112; 113; 120; 121; 122; 123; 1000; 1001 ... あなたの仕事は、標準の10進数を取り、それを私の採番システムに変換する関数を書くことです。 短いコードが望ましいです。ボンネ・チャンス! ** 9桁以降の数字が必要な場合(必要です)、文字を使用するか、リストの要素として2桁の数字を返すかを選択できます。 テストケース 10 -> 111 20 -> 1003 30 -> 1023 50 -> 1123 100 -> 10035 23116 -> 1234567 21977356 -> 123456789A 最後のケースは、実装方法によっては実行が非常に遅くなる場合があります。時間がかかりすぎたり、メモリを使いすぎる場合は、実行する必要はありません。ただし、迅速に実行し、メモリをほとんど使用しない方法が存在することに注意してください。

11
文字列をスプリング化する
サンドボックスの投稿はこちら。 文字列を「スプリング化」する関数またはプログラムを作成します。 入力は標準入力の文字列、または最も近い代替です 入力には、印刷可能なASCIIやスペースのみが含まれます。 出力は、標準出力または最も近い代替出力になります 末尾の改行とスペースは許容されます 文字列をスプリング化する方法 必要な数のASCIIスプリングコイルに文字列をフォーマットします コイルをスペースで埋め、最も近いコイルまで コイルの周りのバネに続いて、文字を読みます これはASCIIスプリングコイルです。 # # #### # # # #### # どこ#sが文字列の文字であります 以下に例を示します。 abcdefghijklmnopqrstuvwxyz になる a b cdef g h i jklm n o p qrst u v w xyz. . .可視性のためにsがスペースを置き換える場所。 次に、ASCIIスプリングを下に、ループの周りに文字列を読み戻し、gとをu2回押します。 1| a <-3 V b cdef g h 4| …
11 code-golf  string 

1
ベスが砂漠を脱出するのを手伝ってください
他の水を運ぶパズルと似ていますが、このチャレンジのユニークな側面はそれを完全に異なっています。 ベスは砂漠の真ん中のオアシスにあります。湖にはたくさんの水がありますが、残念ながら、バケツはX個しかなく、各バケツにはYリットルの水を入れることができます。 ベスは手に2個のバケツを持ち運ぶことができますが、生き残るためには、1キロ移動した後に正確に1リットル飲む必要があります。彼女はまた、いくつかのバケツを途中で残すことができます(水は蒸発しません)。 チャレンジ 式を計算し、XおよびYの正の整数値に対して機能する最短のソリューションを記述し、ベスがオアシスから移動できる最大距離を計算します。バケット間での水の移動は許可されています。 例 X = 3、Y = 5 Bethはオアシスから3KM離れたバケツを1つ残して戻ります(オアシスからの最後の飲み物を持ち帰ります) Bethは3KMのポイントに別の完全なバケットをもたらし、現在12Lを持っています。 ベスは6KMポイントに進み、4Lの水を入れたバケツを離れることができます。 3KMポイントに戻ります。彼女はオアシスに戻るためにちょうど2Lを持っています。 バケツを満たし、6KMポイントまで移動します。彼女は今8Lの水を持っています。 15KMポイントまでずっと進みます。 答えは:15 入出力 X / Yをコードで直接定義するか、入力から読み取ることができます。結果は、変数または出力のいずれか短い方に配置できます。

4
国際標準の用紙サイズの出力区分
定義されたISO用紙サイズ: Aシリーズの用紙サイズは、次の要件によって定義されます。 The length divided by the width is the square root of 2. The A0 size has an area of 1 unit. Each subsequent size A(n) is defined as A(n-1) cut in half parallel to its shorter sides. 仕事: 細分化f[n]された入力A0が与えられますn。 テストケース: f[1]にf[12]: ここで、A0はで与えられますが f[1]、このインデックスは必須ではありません。 受賞基準: バイト単位の最短コードが優先されます。

18
フィボナッチ指数
このチャレンジでは、いくつかの数値の合計の結果を出力します。これらの数字は何ですか?さて、あなたは(、入力が与えられa、b整数(正、負、またはゼロ)、である、) a != b、およびa < b、および内の各整数aおよびb(それらを含む)フィボナッチ数に応じて指数を持つことになります。わかりにくいので、例を示します。 Input: (-2, 2) Output: -2**1 + (-1**1) + 0**2 + 1**3 + 2**5 = -2 + -1 + 0 + 1 + 32 = 30 最初のフィボナッチ数がで表されるf(0)場合、式は次のとおりです。 a**f(0) + ... + b**f(b-a+1) 入力、処理、出力 上記を明確にするために、いくつかのテストケース、入力の処理、および予想される出力を以下に示します。 Input: (1, 2) Processing: 1**1 + 2**1 Output: 3 Input: (4, …

10
この猫にはバグがありますか?本当に?
チャレンジ: 入力を(目に見えるASCII範囲内で)読み取り、いくつかの変更を加えて出力します。 ランダムに入力された10文字の各セット(50/50): 1つの文字を*(目に見えるASCII範囲内のランダムなものに置き換えます)(例:にlumberjackなりますlumbeZjack) または1文字を削除します(例:にlumberjackなりますlmberjack) *セットが10文字未満の場合、変更する必要はありませんが、変更できます。 **文字は、ランダムである限り、1つの入力と同じにすることができます。 例: 入力:Go home cat! You're drunk! 出力:(Go hom cat! YouLre drunk! 出力はランダムになる可能性があるため、テストケースとして使用しないでください) ルール: code-golf、最小の文字が勝ちます!

7
Squareまでの合計桁
任意の整数x> 0および任意の基数y> 3が与えられます。 xのすべての数字を合計します(セットベースで記述されている場合)。 これに可能な限り最高の桁を掛けます(常にですbase -1)。 この値がなるまで繰り返します (y - 1) ^ 2 検索されるのは、反復回数とステップです。 例1: x= 739 y= 7 searched: (7 - 1) ^ 2 = 36 based: (b7)2104 sum: (dec)7 mul: (dec)42 based: (b7)60 sum: (dec)6 mul: (dec)36 2 steps needed -> answer is [2, 739, 42, 36] or [739, …

2
モンドリアンパズルシーケンス
n X n正方形を複数の一致しない整数側の長方形に分割します。a(n)は、最大面積と最小面積の最小差です。 ___________ | |S|_______| | | | L | | |_|_______| | | | | | |_____|___| |_|_________| (fig. I) 最大の長方形(L)の面積は2 * 4 = 8で、最小の長方形(S)の面積は1 * 3 = 3です。したがって、違いは8 - 3 = 5です。 整数を指定するとn>2、可能な限り最小の差を出力します。 投稿時のシーケンスのすべての既知の値: 2, 4, 4, 5, 5, 6, 6, 8, 6, 7, 8, 6, 8, …

3
ニムでのゴルフのヒント
ニムでゴルフをするための一般的なヒントは何ですか?私は、コードゴルフの問題に適用でき、少なくともNimに固有のアイデアを探しています(たとえば、「コメントの削除」は答えではありません)。 回答ごとに1つのヒントを投稿してください。
11 code-golf  tips 

7
線形化されたツリーですか?(幅優先版)
バックグラウンド ラベルのないツリーは次のようになります。 o / | \ o o o | / \ o o o このツリーを線形化するには、まず各ノードoにその子ノードの数でラベルを付けます。 3 / | \ 1 0 2 | / \ 0 0 0 そして、一行ごとに、左から右へという意味で、数字をリストに一気に書きます。 [3, 1, 0, 2, 0, 0, 0] これは、上記のツリーの一意かつ明確な表現です。つまり、2つの異なる純粋なツリーが同じ線形化を持たず、リストから元のツリーを再構築できることを意味します。 各ツリーは特定の整数リストに対応しますが、各整数リストは有効な線形化されたツリーを[2, 0, 0, 0]表すわけではありません。たとえば、有効なツリーを表しません。 [2,0,0,0] -> 2 [0,0,0] -> 2 [0,0] -> …

4
CUSRS-完全に役に立たない文字列リファクタリングシステム!
前書き 私は、常にPPCGで発生するSBU(Short But Unique)チャレンジの大ファンです。CUSRSは文字列をリファクタリングするように設計されたシステムです。CUSRS関数は2つのパラメーターを取り、1つの文字列を出力します。 チャレンジ 以下を行うためのプログラム、関数、ラムダ、または許容可能な代替物を作成します。 (例として)与えられString input、次のように使用してString refactorリファクタリング:inputrefactor refactor文字列の形式になり((\+|\-)\w* *)+、例えば、(正規表現): +Code -Golf -lf +al 各セクションは、実行するリファクタリングアクションinputです。各プログラムにはポインターもあります。 + 文字列内のポインターの現在位置にその接尾辞(プラスなし)を挿入し、ポインターを0にリセットします。 各操作をinput文字列に適用し、結果を返す必要があります。 例: input: Golf +Code //pointer location: 0 output: CodeGolf //pointer location: 0 -接尾辞が見つかるまで、文字列を介してポインタをインクリメントします。接尾辞は文字列から削除され、削除されたテキストの左側にポインタが残ります。接尾辞が見つからない場合、ポインタは単に文字列の最後まで進行し、そこに残ります。 input: Golf -lf //pointer location 0 output: Go //pointer location 2 例 input: "Simple" "-impl +nip -e +er" …
11 code-golf  string 

7
建物解体
チャレンジ 毎秒1フロアのレートで特定の建物を解体するための完全なプログラム/機能を記述します。 入力 入力がある建物を通してSTDIN(またはあなたの言葉で呼ばれているもの)、または貫通ARGUMENT関数の。 t = 0 s | |#| {#} |# #| |# # #| |# # #| |# # #| TTTTTTT 入力は以下で構成されます: | フロアの開始と終了をマークします。 {、}爆発物で床をマークします。 # は装飾用の窓です。 それはそこ#にない床の中のどこにでもあるスペースです。 T 地面をマークします(取り壊すことはできません)。 * 爆発した床をマークします。 入力規則: 建物は1 |から始まり、地面で終わります(no(T)= no(char used in ground floor))。 窓#はすべてのフロア内のすべての奇妙な場所にあります。 T 入力の終了をマークします。 唯一の1階には爆発物で構成されています。 すべてのフロアは奇数で作られています。文字の。 床を下るとき、床は前の床と同じサイズにすることも、2文字大きくすることもできます。 入力のアレイとすることができるchars、またはstrings。 出力: …

2
六角形座標:極座標からデカルト座標
ウィキペディアは極座標について述べています: 数学では、極座標系は2次元の座標系であり、平面上の各点は、基準点からの距離と基準方向からの角度によって決定されます。 これは、六角形のグリッドを記述するのに最適のようです。たとえば、次の六角形のグリッドを考えてみましょう。 A B C D E F G H I J K L M N O P Q R S 基準点は六角形の中心(「J」)になり、基準角は六角形の左上隅(「A」)になります。ただし、角度は、角度ではなく、このポイントから六角形の外側を回る時計回りのステップ数で説明します。したがって、角度ではなく「ステップ番号」と呼びます。 たとえば、「C」は半径が2(中心から2リング離れているため「J」)であり、ステップ番号が2(「A」から時計回りに2つ前方)であるため、(2、2)にあります。 ')。同様に、「O」は(1、3)にあります。これは、中心から1リング離れているため、「E」(基準角度上)から時計回りに3歩進むためです。 完全を期すために、「J」は(0、0)にあります。これに到達するには0歩、時計回りに0歩が必要です。 これで、デカルト座標で六角形を記述することもできますが、オフセットのため、これは少し奇妙です。極座標と同様に、中心を(0、0)に置きます。各スペースも座標を占めるため、「K」は(1、0)ではなく(2、0)にあります。これにより、(-2、2)に「A」、(1、-1)に「O」が配置されます。 チャレンジ 極座標の六角形座標を指定して、デカルト座標で同じ座標を出力します。これらの座標を取り、適切な形式で回答を出力できます。これは、必要に応じて入力の順序を逆にすることができることを意味します。これはまた、座標を(Y、X)として出力できることを意味しますが、そうする場合は、混乱を避けるために回答にこれを記載してください。 負の半径を処理する必要はありませんが、負の角度、または六角形の周りの完全な回転以上の角度を取得する場合があります。たとえば、入力として(1、10)または(1、-2)を受け取る場合があります。これらは両方とも前の六角形の「N」に対応します。入力のために非整数を処理する必要はありません。 サンプルIO #Polar #Cartesian (0, 0) (0, 0) (1, 2) (2, 0) (6, 0) (-6, 6) (2, -3) (-3, -1) (4, …

14
海で迷子になって助けて!
前書き 今日、私はカヌーと一緒に一人で釣りに行きました。残念なことに、私は眠りに落ち、小川が私を連れ去り、オールを失いました。海岸が見えないので遠くに行かなければなりません! 私は携帯電話を持っていますが、塩水で濡れたために故障しています。マイクと電話のスピーカーが壊れているため、何も話せず、聞こえませんが、海岸のビーチにいる友人にSMSを送信できます! 私の友人は非常に強力なトーチを持っていて、彼は正しい方向を示すために竹の杖の上にそれを上げましたが、私はオールを持っていないのでrowいできません。キャッチ! 友人は、トーチを海面の11.50メートルに維持していると言ったので、地平線のすぐ上に光が見えます。今、私は学校から地球の半径が海面で6371 Kmであるべきだと覚えているだけです。そして、私はカヌーに座っているので、私の目も海面にあると仮定できます。 仕事 潮流が刻々と私を動かしているので、私の友人は時々トーチを上げています(現在は12.30メートルです)。私の友人の位置からの距離を計算するのに役立つ完全なプログラムまたは関数を書いてください! 以下に図を示します(縮尺どおりではありません)。 ラベルの付いたオレンジ色の点Mは私、ラベルの付いた赤い点Tはトーチです。緑の線は、Mとの間の直線距離ですT 入力 標準入力からh、水平線の真上にあるトーチの高さをメートル単位で取得します。 0から100の範囲が含まれます。 出力 緑色の線のユークリッド長を1 cmの精度で返す必要があります。たとえば、メートル単位で出力する場合は、小数点以下2桁にする必要があります(少なくとも)。出力はメートルまたはキロメートルのいずれかですが、精度を尊重します。 テストケース: すべての値はメートルです。 11.5 > 12105.08 13.8 > 13260.45 ルール 最短のコードが優先されます。

1
切り替えシーケンス
イントロ スイッチングシーケンスは次のように定義されます。 n円の中に立っている人から始めます(6この例の場合)。 1 2 6 3 5 4 personから開始して1、「選択された」人の左側にある人が削除されます。 1 6 3 5 4 削除された人は、削除方法を「切り替える」ことができます。 削除された人が偶数の場合(この場合)、次の削除された人は、次の「選択された」人の右側になります。 削除された人が奇数の場合、次の削除された人は、次の「選ばれた」人の左側になります。 次に選択された人は、以前に削除された人にも依存します。 削除された人が偶数の場合、次に選択された人は前に選択された人の右側になります。 削除された人が奇妙な場合、上記を参照してください。ただし、「右」を「左」に置き換えます。 そのため、次に選択される人は6です。 今、私たちはの右にある者を削除6され、5: 1 6 3 4 ので5奇数で、削除人は左になりました。新しく選ばれた人は1です。 削除し3ます: 1 6 4 1つの番号が残るまでこのプロセスを続けます。この例では、最終的な番号は1です。だからS(6) = 1。 最初の数は次のとおりです。 n | S(n) --------- 1 | 1 2 | 1 3 | 3 4 …

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