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

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

3
順列グループ操作
n個の要素と0からn!-1までの数字の順列の間には、順列と対応する数字の辞書式順序が同じになるように、よく知られた全単射があります。たとえば、n = 3の場合: 0 <-> (0, 1, 2) 1 <-> (0, 2, 1) 2 <-> (1, 0, 2) 3 <-> (1, 2, 0) 4 <-> (2, 0, 1) 5 <-> (2, 1, 0) n個の要素の順列がグループ(n次の対称グループ!)を形成することもよく知られています-したがって、特に、n個の要素の1つの順列がn個の要素の2番目の順列に適用されると、n個の要素の順列が生成されます。 たとえば、(a、b、c)に(1、0、2)を適用すると(b、a、c)が得られるため、(1、0、2)を(2、1、0)に適用すると(1、2 、0)。 n、p1、およびp2の3つの整数引数を取るプログラムを作成します。p1とp2をn個の要素の順列として解釈します。1番目を2番目に適用します。対応する整数を出力します。例えば: $ ./perm.sh 3 2 5 3

10
数字の日付範囲
注:私はオランダ人なのでdd-MM-yyyy、チャレンジの説明とテストケースではすべての日付がオランダ語の形式になっています。 チャレンジ: 入力: 開始日sss ; 終了日eee ; 桁nnn 出力: 範囲[s,e][s,e][s,e](両側を含む)内のすべての日付。日付にnnnの一意の数字が含まれます。 例: 入力:開始日:12-11-1991; 終了日:02-02-1992; 桁:4 出力: 日/月の先頭に0を付けます: [20-11-1991, 23-11-1991, 24-11-1991, 25-11-1991, 26-11-1991, 27-11-1991, 28-11-1991, 30-11-1991, 01-12-1991, 02-12-1991, 09-12-1991, 10-12-1991, 13-12-1991, 14-12-1991, 15-12-1991, 16-12-1991, 17-12-1991, 18-12-1991, 20-12-1991, 23-12-1991, 24-12-1991, 25-12-1991, 26-12-1991, 27-12-1991, 28-12-1991, 31-12-1991, 01-01-1992, 02-01-1992, 09-01-1992, 10-01-1992, 11-01-1992, 12-01-1992, 19-01-1992, 20-01-1992, …
15 code-golf  number  date 

13
ビッグブラザーを引用
タスク:実行時にプログラムに次の2つの引用符のいずれかをランダムに選択させ、その1つの引用符を表示どおりに印刷します。 1: Under the spreading chestnut tree I sold you and you sold me. There lie they, and here lie we Under the spreading chestnut tree. 2: WAR IS PEACE. FREEDOM IS SLAVERY. IGNORANCE IS STRENGTH. 制限事項:言葉spreading、chestnut、PEACE、FREEDOM、とSTRENGTH しなければならないあなたのコードで表示されます。上記の2つの引用符からの単語は、コード内で複数回使用できません。 最短のソリューションが勝ちます。

20
10進表現のすべての複数桁の部分文字列も素数であるすべての正数を印刷/出力します。
仕事 あなたの仕事は、すべての正数を印刷または出力することであり、その場合、その10進表現の複数桁の部分文字列もすべて素数になります。数値に少なくとも2桁ある場合、これは数値自体も素数である必要があることを意味します。 例 6197内のすべての多桁のストリングのためのシーケンスである6197:すなわち、素数である61、19、97、619、197、6197(それ自体)。 6は素数ではないが、の複数桁の部分文字列ではない6197ため、シーケンス内にあることに注意してください。66197 8内のすべての複数桁の部分文字列8は素数であるため、シーケンス内にもあります。には複数桁の部分文字列はない8ため、これは空虚な真実の場合です。 スペック 標準の抜け穴が適用されますが、出力をハードコーディングしたり、プログラムに出力に関連する情報を保存したりすることはできません。 出力の番号は任意の順序で指定できます。 出力内の数字は重複することが許可されています。 出力の代わりに印刷することを選択した場合、任意の区切り文字を使用できます。 出力の代わりに印刷することを選択した場合、出力の前置または後置、あるいはその両方が許可されます。 区切り文字、接頭辞、および接尾辞に数字を含めることはできません(U + 0030〜U + 0039)。 全リスト(58アイテム) 1 2 3 4 5 6 7 8 9 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 113 131 …

2
一連のターンが与えられた最短の自己回避経路
右または左ターンの空でないシーケンスが与えられた場合に、それらのターンを持つ2Dラティス上の最短の自己回避パスの長さを出力するプログラムまたは関数を記述します。 入力は、各文字があることで、文字列として扱われるべきRか、Lそれぞれ右左折のために。 出力は整数、つまり指定されたターンの最短経路の長さでなければなりません。 これはゴードゴルフです-最短のコードが勝ちます。 例 与えられた入力 LLLLLLLLLLRRL 最短パスは次のとおりです(から開始#): +-+-+-+-+-+-+ | | + . + +-+-+ + | | | | | + +-+ + #-+ + | | | | + +-+ +-+-+-+ | | +-+-+ . . . . そして、このパスの全長は29(sではなく、s -と|sを数える+)です。 テストケース L 2 RRRRRRRRRR 23 LRRLRLRRRRL 15 LLRRLRRRRLLL …

11
最高のラインを見つける
整数の2次元配列Aと長さNが与えられます。あなたの仕事は、配列内で、N個の要素の直線(水平、垂直、または斜め)を見つけて、合計の合計が最大になるようにし、その合計を返すことです。 。 例 N = 3, A = 3 3 7 9 3 2 2 10 4 1 7 7 2 5 0 2 1 4 1 3 この配列には、以下を含む34の有効な行があります。 Vertical [3] 3 7 9 3 [2] 2 10 4 1 [7] 7 2 5 0 2 1 4 1 3 …

15
ディスク上のポイントをランダム化する
私はどこかでサークルについて読んで、今やディスクについて学び(実際にはかなり一般的な概念です)、コードゴルフについて考えました。 あなたの仕事は、半径1のディスク上のポイント/いくつかのポイントをランダム化することです。 ルール: すべてのポイントが生成される確率は等しくなければなりません 浮動小数点座標を使用する必要があります。最小要件は小数点以下2桁です(例:ポイント(0.12, -0.45)または(0.00, -1.00)有効) プログラムが実際に境界円とその中に生成されたポイントを表示する場合、-20バイトを取得します。座標は依然として有効であるが表示されていない必要があり、生成される画像は少なくとも201 x 201ピクセルのサイズである必要があります プログラムがstdinの入力として生成されるポイントの数を取る場合、-5バイトを取得します 境界円とポイントをプロットしないことにした場合、プログラムはフォーマット(x, y)または(x,y)stdoutで生成されたポイントを出力する必要があります 生成されたポイントの数を入力として取得するが、プロットしない場合-プログラムは、上記の形式ですべてのランダム化されたポイントを出力しなければなりません。 バイト単位の最短提出が勝ちです!

9
Scopaハンドのスコアは何ですか?
私はカードゲームチャレンジが好きなので、イタリアのカードゲームScopa向けにこれを作りました。私の家族は太古からこのゲームをプレイしています。それはゴルフにとって楽しいはずの非常に興味深い得点システムを持っています。楽しみを始めるためにRに回答を投稿し、人々が改善することを確信しています。 課題:ラウンド中にプレイヤーが入力としてキャプチャしたカードを考慮して、Scopaのラウンドで獲得したポイント数を計算します。 Scopaデッキには40枚のカードがあります。国際デッキを使用している場合は、8、9、10を削除し、各スーツにA、2、3、4、5、6、7、Q、J、Kを残します。1 2人のプレーヤーまたはパートナーシップがあり、各ラウンドの後、すべてのカードは2人のプレーヤーのいずれかによってキャプチャされます。スコアは次のようにカウントされます(詳細はこちら): 最も多くのカードを持つプレイヤーが1ポイントを獲得します。 最も多くのダイアモンド(またはイタリアのデッキを使用している場合はコイン)を持つプレイヤーは1ポイントを獲得します。 セッテベロまたは美しいセブンとして知られる7枚のダイヤモンド(またはコイン)を持つプレーヤーは、1ポイントを獲得します。 最高のプリミエラを持つプレイヤーは1ポイントを獲得します。プレイヤーのプリミエラスコアは、各スーツでプレイヤーが獲得した最高価値のカードのスコアの合計です(下の表を参照)。すべてのスーツに少なくとも1枚のカードがない場合、対戦相手のスコアを超えてもスコアはデフォルトで負けます。どちらのプレイヤーもすべてのスーツに少なくとも1枚のカードを持っているという非常にまれなケースでは、より高いプリミエラの合計を持つプレイヤーがポイントを獲得します。2 初生スコアの表 | Rank | Value | | ----- | ----- | | 7 | 21 | | 6 | 18 | | A | 16 | | 5 | 15 | | 4 | 14 | | 3 | 13 | | …

16
この構成された番号のスターターは何ですか?
多くのプログラミング言語は、数字を既存の数字の末尾に「連結」することで大きな整数を構成します。たとえば、LabyrinthまたはAdaptです。数字を最後に連結すると、既存の数字が454545で数字が777場合、結果の数字は457(45 × 10 + 7 )457(45×10+7)457\:(45 \times 10 + 7)。 構築数が1桁の数の倍数を使用することにより、この方法で構築することができる数である:1 、2 、3 、4 、5 、6 、7 、8 、91、2、3、4、5、6、7、8、91, 2, 3, 4, 5, 6, 7, 8, 9、これらの9つの配列の一つの要素別名: 1 、12 、123 、1234 、12345 、…1、12、123、1234、12345、…1, 12, 123, 1234, 12345, \: \dots 2 、24 、246 、2468 、24690 、…2、24、246、2468、24690、…2, 24, 246, 2468, 24690, \: …

9
ファイブナムと少し
(パラドックス、パラドックス、最も独創的なパラドックス) これは、さまざまなR関数に触発されたマルチパートシリーズの最初のパートです。 タスク データセットを考えるとDDD正の整数の、私はあなたが計算する必要が5数要約のDDD。ただし、大規模なデータセットで作業しているため、コードをできるだけ小さくして、コンピューターに保存できるようにする必要があります。 5つの数字の概要は次のとおりです。 最小値 最初の四分位(Q1) 中央値/ 2分の1(Q2) 3番目の四分位(Q3) 最大値 四分位数を定義する方法はいくつかありますが、Rによって実装された方法を使用します。 定義: 最小値と最大値:それぞれ最小値と最大値。 中央値以下の場合中央値DDDあればエントリの奇数、及び2つの中間最も値の算術平均値を有し、DDDエントリの偶数を有します。これは、中央値が非整数値であることを意味することに注意してください。以前に中央値を計算する必要がありました。 第1四分位と第3四分位:DDDのエントリ数が奇数の場合、各半分の中央要素を含む2つの半分にデータを分割し、各半分の中央値を求めます。下半分の中央値は第1四分位、上半分の中央値は第3四分位です。 例: D = [ 1 、2 、3 、4 、5 ]D=[1、2、3、4、5]D=[1,2,3,4,5]。中央値は、その後で333、及び下半分である[ 1 、2 、3 ][1、2、3][1,2,3]の最初の四分位得222、上半分である[ 3 、4 、5 ][3、4、5][3,4,5]の第三四分位生じ、444。 D = [ 1 、3 、3 、4 、5 、6 、7 、10 ]D=[1、3、3、4、5、6、7、10]D=[1,3,3,4,5,6,7,10]。中央値は4.54.54.5、下半分である[ 1 、3、3 、4 ][1、3、3、4][1,3,3,4]の第一四分位得333、及び上半分である[ …

30
ゼロに向かって丸める
これは簡単なタスクです。正または負の実数を指定して、ゼロに近い次の整数に丸めます。 チャレンジ 1つの正または負の実数の合理的な形式(stdin、関数など)で入力を行います。 この数値を「ゼロに向かって」丸めます-これが正の場合は切り捨て、負の場合は切り上げます。 番号を返すか、コンソールに出力します。 テストケース 1.1 => 1 -1.1 => -1 500.4 => 500 -283.5 => -283 50 => 50 -50 => -50 ルール これはcode-golfなので、バイト単位の最小スコアが勝ちます。 標準的な抜け穴に注意してください。 楽しんで! より多くのジミーの課題が近日公開予定

6
秘密を守れ!
私にはたくさんの秘密があり、それらを保管する場所はありません! 目標は単純です。文字列を保存し、パスワードで保護できるプログラムを作成します。 プログラムは、エイリアス、パスワード、および(オプションの)シークレットをパラメーターとして受け取ります。 指定されたエイリアスでプログラムが初めて呼び出された場合、秘密を保存/記憶し、必要なものを出力します。 プログラムが以前に使用されたエイリアスで呼び出された場合、パスワードがそのエイリアスで最初に実行されたときと同じである場合、そのエイリアスのシークレットが出力されます。 その他の場合 特定のエイリアスで最初に呼び出され、シークレットが指定されていない場合は、何も保存しません。 使用されたエイリアスを使用してプログラムが呼び出され、パスワードが正しくない場合-あらゆる種類のエラーを返すか、まったく何も返しません。 使用されたエイリアスでプログラムが呼び出された場合、パスワードは正しく、新しいシークレットが提供されます。古いシークレットを出力し、新しいシークレットに置き換えて、次回は新しいシークレットのみが出力されるようにします。 使用されたエイリアスでプログラムが呼び出された場合、パスワードは正しく、新しいシークレットは提供されません。古いシークレットを出力し、置き換えられないことを確認してください。 注:これらのシークレット/パスワードは安全に保存する必要はありません また、注:エイリアスのパスワードとシークレットの英数字入力はすべて受け入れる必要があります 標準ルールが適用されます、幸運を祈ります!

4
韓国語の2セットキーボードとqwertyキーボード間の変換
前書き DVORAKキーボードレイアウトに似ています難しくなります。 最初に韓国語のキーボードについて話しましょう。ウィキペディアで見ることができるようにで、韓国語と英語のキーセットを切り替えるKor / Engキーがあります。 韓国人は間違ったタイプを入力することがあります。韓国語でqwertyキーボード、または英語で2セットキーボードで入力しようとします。 だから、ここに問題があります:韓国語の文字を2セットキーボードで入力した場合、それをqwertyキーボードで入力したアルファベット文字に変換します。qwertyで入力されたアルファベット文字が指定されている場合は、2文字キーボードに変更します。 2セットキーボード 以下に2セットのキーボードレイアウトを示します。 ㅂㅈㄷㄱㅅㅛㅕㅑㅐㅔ ㅁㄴㅇㄹㅎㅗㅓㅏㅣ ㅋㅌㅊㅍㅠㅜㅡ そして、シフトキーで: ㅃㅉㄸㄲㅆㅛㅕㅑㅒㅖ 一番上の行だけが変更され、他の行は変更されません。 韓国文字について ここで終了した場合、簡単かもしれませんが、いいえ。入力するとき dkssud, tprP! 出力はこの方法では表示されません。 ㅇㅏㄴㄴㅕㅇ, ㅅㅔㄱㅖ! しかし、このように: 안녕, 세계!(means Hello, World!) そしてそれは物事をずっと難しくします。 韓国語の文字は、「長城(子音)」、「中城(母音)」、および「J城(音節の末尾の子音:空白にすることができます)」の3つの部分に分かれています。 幸いなことに、それを行う方法があります。 分離方法 19個のチョソン、21個のチョンソン、および28個のジョンソン(空白)があり、0xAC00は韓国語文字の最初の文字である「가」です。これを使用して、韓国語の文字を3つの部分に分けることができます。以下に、それぞれの順序と2セットキーボードでの位置を示します。 選択した順序: ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ r R s e E f a q Q t T d w W c z …

30
増分範囲!
あなたの仕事は、2つの正の整数と与えられると、増分範囲シーケンスの最初の数を返すことです。xxxnnnxxx 増分範囲シーケンスは、最初に範囲を生成します。たとえば、が場合、リストが生成されます。次に、ずつ増加した最後の値を既存のリストに繰り返し追加し、続行します。nnnnnn333[1,2,3][1,2,3][1,2,3]nnn111 たとえば、の入力:n=3n=3n=3 n=3 1. Get range 1 to n. List: [1,2,3] 2. Get the last n values of the list. List: [1,2,3]. Last n=3 values: [1,2,3]. 3. Increment the last n values by 1. List: [1,2,3]. Last n values: [2,3,4]. 4. Append the last n values incremented to the …

16
カスタムラベル付きの二面体グループD4コンポジション
二面体グループは、正方形の対称グループです。つまり、回転と反射を介して正方形をそれ自体に変換する動きです。8つの要素で構成されます:0、90、180、および270度の回転、水平、垂直、および2つの対角軸にわたる反射。D4D4D_4 画像はすべて、Larry Riddleによるこの素敵なページからのものです。 この課題は、これらの動きを構成することです。2つの動きが与えられると、それらを次々に実行するのと同じ動きを出力します。たとえば、移動7の後に移動4を行うことは、移動5を行うことと同じです。 移動を4に、次に移動7に順序を切り替えると、代わりに移動6が生成されることに注意してください。 結果は以下の表のとおりです。これは、グループ Cayleyテーブルです。だから、例えば、入力出力生成しなければならない。D4D4D_47,47,47, 4555 1234567812345678123456782341786534126587412387565867134267583124758624138675423112345678123456781234567823418756341265874123786557681324685731427685421385762431\begin{array}{*{20}{c}} {} & {\begin{array}{*{20}{c}} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ \end{array} } \\ {\begin{array}{*{20}{c}} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \\ \end{array} } …

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