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

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

10
三角数字
(いいえ、それらではありません) チャレンジ 2つの入力が与えられます。最初の数値は正の整数で、数値の直角三角形n > 0を出力するために使用されます。この三角形は角から始まり、水平方向と垂直方向に1つ、対角線方向に2つ増加します。詳細については、以下の例を参照してください。列の間に1つのスペースを置き、特定の列ですべての数値を右揃えにします。(これは結局アスキーアートです)。n x n1, 2, 3, ... n 2番目の入力はx、三角形の開始コーナー(および方向)を決定する、選択した4つの異なる単一ASCII文字の1つです。たとえば、1,2,3,4またはa,b,c,dまたは#,*,!,)などを使用できます。オリエンテーションの動作方法を回答で指定してください。 この課題の明確化のために、左上に1,2,3,4対応するものを使用し1、2時計回りに使用します。 例 たとえばn = 5、のx = 1場合、次を出力します。 1 2 3 4 5 2 3 4 5 3 4 5 4 5 5 入力の場合n = 11、x = 1出力は(一桁が右詰めされているので、余分なスペースに注意してください)以下: 1 2 3 4 5 6 7 8 9 10 11 …

23
範囲累乗整数のシーケンス
三角形検討N行目(1-インデックス付き)が最初の配列であるNの正の整数パワーNを。最初の数行は次のとおりです。 N | 三角形 1 | 1 2 | 2 4 3 | 3 9 27 4 | 4 16 64 256 5 | 5 25125625 3125 ... これらのパワーを1つのシーケンスに連結すると、OEIS A075363が得られます。 1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, 1296, 7776, …

16
プライムの力
この課題のために、素数の素数(PPP)は、素数の素数に対する素数として定義できる数として定義されます。例えば、9は3 ^ 2として表現できるため、PPPです。一方、81はPPPではありません。これは、3 ^ 4としてしか表現できず、4が素数ではないためです。最初のいくつかのPPPは次のとおりです:4、8、9、25、27、32、49、121、125、128、169、243、289、343 ...これはOEISシーケンスA053810です あなたのタスク: 入力整数nに対して、n番目のPPP(1インデックス付きまたは0インデックス付き)のどちらか好きな方を返す/出力するプログラムまたは関数を作成します。 入力: 合理的な方法で受け取った0〜1,000の整数。 出力: 入力によって示されるインデックスのPPP。 テストケース: これらは1インデックスであるため、プログラムが0インデックスの入力を受け取る場合、指定された入力-1に対して同じ出力に到達する必要があります。 3 -> 9 6 -> 32 9 -> 125 得点: このコードゴルフは、バイト単位の最低スコアが勝ちです!

15
符号付き単項数のリストを解析します
単項数は通常、非負の整数のみを表しますが、次のようにすべての整数を表すように拡張できます。 正の整数NはNとして表されます 1ます。5 -> 11111 負の整数-Nは、aの0後にNが続くことで表されます1ます。-5 -> 011111 ゼロは次のように表されます 0 0セパレータとして使用すると、これらの数値のリストを明確に表すことができます。 3,-2,0,1 111,011,0,1 111 0 011 0 0 0 1 11100110001 あなたの仕事:符号付き単項数のリストを表す文字列を取得し、それを10進数のリストに変換します。 詳細 入力は、符号付き単項数の完全なリストであると想定できます。特に、プログラムは1)空の入力または2)区切り文字で終わる入力を処理する必要はありません。 各数値の大きさは127を超えないと想定することができます。文字列またはリストの最大サイズを持つ言語では、入力と出力が言語のデータ構造に適合すると想定できますが、アルゴリズムは理論的には任意のサイズ。 プログラムまたは関数は、標準的な方法でI / Oを実行できます。入力は、文字列または文字のリスト、単一文字の文字列、整数、またはブール値です。1およびを表すために任意の2文字を使用でき0ます。あなたが使用していない場合1や0、使用しているどの文字を指定してください。 出力は、妥当なリスト形式の10進数でなければなりません(特に、数字の間に何らかの区切り文字が必要です)。負の数値はマイナス記号で示す必要がありますが、言語の負の整数の形式が異なる場合はそれも受け入れます。ゼロは、出力で0またはとして表される場合があります-0。 テストケース 1 -> 1 0 -> 0 (or -0, and similarly for the other test cases) 011 -> -2 1101 -> …

30
一連の課題#3:移動平均
注:これは、一連のアレイ操作の課題の3 番目です。前のチャレンジについては、ここをクリックしてください。 リストの移動平均 リストの移動平均は、元の小さな重複サブリストを平均化することによって作成された、新しい平滑化されたリストを生成する計算です。 移動平均を作成するとき、特定の「ウィンドウサイズ」を使用して重複するサブリストのリストを最初に生成し、このウィンドウを毎回右にシフトします。 たとえば、リスト[8, 4, 6, 2, 2, 4]とウィンドウサイズを指定する3と、サブリストは次のようになります。 [8, 4, 6, 2, 2, 4] Sublists: ( ) <- [8, 4, 6] ( ) <- [4, 6, 2] ( ) <- [6, 2, 2] ( ) <- [2, 2, 4] 次に、各サブリストの平均値を計算して結果を取得します[6.0, 4.0, 3.3, 2.7](各値は小数点以下1桁に丸められます)。 チャレンジ あなたの仕事は、リストLおよび整数1≤n≤length(L)が与えられ、ウィンドウサイズnを使用してLの移動平均を計算するプログラムまたは関数を書くことです。 ルール: プログラムでは、整数除算または浮動小数点除算を使用できます。浮動小数点除算の場合、値がそれ以外の場合に正しい限り、データ型の制限によるわずかな不正確さが許可されます。 …

6
Anyfix表記を実装してください!
プレフィックス表記では、演算子は引数の前に来るため、演算子next()が再帰的に呼び出されることを想像できます。中置記法では、演算子は引数の間を行き来するので、単純に構文解析ツリーと考えることができます。後置記法では、演算子は引数の後に来るため、スタックベースと考えることができます。 anyfix表記では、演算子はどこにでも行くことができます*。演算子が表示され、十分な引数がない場合、演算子は十分な引数があるまで待機します。この課題のために、非常に基本的なanyfix評価器を実装することになります。(anyfixは、ここで遊んだり、ここでチェックしたりできるように放棄したレクリエーション言語であることに注意してください) 次のコマンドをサポートする必要があります。 (アリティ1) 複製する 負 (アリティ2) 添加 乗算 等式:0またはを返します1。 これらのコマンドには、任意の5つの非空白記号を使用できます。デモンストレーションのために、"複製、×乗算、加算として使用し+ます。 リテラルについては、負でない整数のみをサポートする必要がありますが、インタープリターはすべての整数(言語の(合理的な)整数範囲内)を含めることができる必要があります。 例を見てみましょう10+5。ストレージは、キューではなくスタックとして動作する必要があります。最初に、スタックはから始まり[]、キューに入れられた演算子リストはから始まり[]ます。次に、リテラル10が評価され、スタックが作成されます[10]。次に、演算子+が評価されます。これには2つの引数が必要です。ただし、スタックには引数が1つしかないため、キュー演算子リストはになり['+']ます。次に、リテラル5が評価され、スタックが作成されます[10, 5]。この時点で、演算子'+'を評価して、スタック[15]とキューを作成できます[]。 最終的な結果は、あるべき[15]ために+ 10 5、10 + 5と10 5 +。 より難しい例を見てみましょう10+"。スタックとキューは[]andで始まります[]。10最初に評価され、スタックが作成されます[10]。次に、+が評価されますが、これはスタックを変更せず(十分な引数がないため)、queueを作成します['+']。次に、"評価されます。これはすぐに実行できるため、スタックが作成されます[10, 10]。+これで、スタックが[20]キューになるように評価できます[]。最終結果は[20]です。 操作の順序はどうですか? を見てみましょう×+"10 10。スタックとキューは両方とも次のように開始します[]。 ×:スタックは変更されず、キューは ['×']ます。 +:スタックは変更されず、キューは ['×', '+']ます。 ":スタックは変更されず、キューは ['×', '+', '"']ます。 10:スタックはになり[10]ます。にもかかわらず×、それが最初に表示されますので、最初の演算子が評価されるようにする必要があり、"それが評価されるので、すぐに実行しないと演算子のどれもそれができる前にすることができます。スタックがに[10, 10]なり、キューになります['×', '+']。×これで評価できるようになり、スタック[100]とキューが作成されます['+']。 10:スタックはになり[100, 10]、+評価できるようになります。スタックがに[110]なり、キューになります[]。 最終結果は [110]です。 これらのデモで使用されるコマンドは、anyfix言語のコマンドと一致しています。ただし、最後の例は、インタープリターのバグが原因で機能しません。(免責事項:あなたの提出物はanyfixインタープリターでは使用されません) チャレンジ 5つの空白以外の数字以外の文字のセットを選択し、上記の仕様に従ってanyfixインタープリターを作成します。プログラムは、特異配列またはそれに含まれる値を出力できます。値のスタックには実行の終了時に単一の値のみが含まれ、演算子のキューは実行の終了時に空になることが保証されています。 これはコードゴルフなので、バイト単位の最短コードが勝ちです。 テストケース これらのテストケースでは、duplicate is "、negative …

11
逆正接の合計の正接を見つける
バックグラウンド 任意の整数に対してk >= 0、f(k) = tan(atan(0) + atan(1) + atan(2) + ... + atan(k))有理数であることを示すことができます。 ゴール 与えられたときに単一の簡約された分数としてk >= 0出力する完全なプログラムまたは関数を書きますf(k)(分子と分母は互いに素です)。 テストケース 最初のいくつかの値は f(0) = (0,1) f(1) = (1,1) f(2) = (-3,1) f(3) = (0,1) f(4) = (4,1) f(5) = (-9,19) f(6) = (105,73) ルール 標準的な抜け穴は禁止されています。 入力および出力は、任意の便利な形式にできます。あなたは、出力してもよいf(k)文字列としてnumerator/denominator2つの整数のタプル、分数や合理的なオブジェクト、などあなたは、出力文字列は、唯一の2つの整数を与えると、として、出力3/2の代わりに1 1/2。 これはコードゴルフで、最短の回答(バイト単位)が勝ちです。

7
私のPPCG IDとは何ですか?
チャレンジ PPCGメンバーの名前を指定して、PPCG ID番号を出力します。ユーザーが存在しない場合は、エラーを報告するか、正でない数を返すことがあります。この名前のメンバーが複数ある場合、1つのIDのみを出力するか、すべてのIDを出力するかを選択できます。 テストケース "musicman523"-> 69054 「デニス」-> 12012 「xnor」-> 20260 「漏れた修道女」-> 48934 「fəˈnɛtɪk」-> 64505 「ヨルクヒュルサーマン」-> 59107 「コミュニティ」-> -1 「存在しないユーザー」-> 0 「Alex」-> 69198(これは考えられる結果の1つです) 「漏れやすいN」-> 0 「ホルヘ」-> 3716

15
1000003で割り切れますか?簡単です。最後の桁に300001を掛けて加算するだけです!
Pより大きい素数が与えられた場合10、プログラムまたは関数xは、素数の最後の桁を乗算して元の残りに加算したときに元の素数の倍数を生成する最小絶対値を持つ整数として定義されるその分割可能性ルールを把握する必要がありますプライム。 例 入力が与えられる31と、最後の数字はで1あり、残りの数字は3です。したがって、プログラムは、の倍数であるxような最小絶対値を持つ整数を見つける必要があります。この場合、機能するため、プログラムまたは関数はを返します。1*x + 331x=-3-3 入力が与えられる1000003と、最後の数字はで3あり、残りの数字は100000です。したがって、プログラムはの倍数であるx=300001ため3*300001+100000 = 1000003、見つけるでしょう1000003。 数学的背景 の値はx、可分性テストとして使用できます。数がいる場合Nで割り切れるP、その後、追加xの回の最後の桁Nの残りの部分にはN、複数の得られますPし、場合にのみがあればNで割り切れるP最初の場所でします。 ためにP=11、我々が得るx=-1ために、よく知られた整除ルールに相当する、11数はで割り切れる:11その桁の交互の違いで割り切れます11。 ルール 出力は、出力の符号と値の両方を明確にエンコードする任意の形式にすることができます。 入力素数は10〜2 ^ 30の間です。 入力が素数でない場合や範囲内にない場合は処理する必要はありません。 あなたは、両方の場合はハンドルに必要としないxと-x有効な出力(起こるべきではありません)です。 ブルートフォースは許可されますが、より創造的なソリューションが評価されます。 これはcode-golfなので、各言語で最も短いコードが勝ちです!ゴルフ言語での回答が他の言語での投稿を妨げないようにしてください。 テストケース Input Output 11 -1 13 4 17 -5 19 2 23 7 29 3 31 -3 37 -11 41 -4 43 13 47 -14 53 16 59 6 61 …

19
長さのn倍を印刷するプログラムを生成する
非負の整数を指定するnと、ソリューションは、選択した言語でプログラムを出力する必要があります。その出力にはn、出力されるプログラムのバイト数の倍のバイトがあります。 ルール ソリューションが出力するプログラムの言語とエンコードを指定する必要があります。また、ソリューションへの異なる入力に対して異なる言語またはエンコードを選択することはできません。出力プログラムの言語は、ソリューションの言語と同じ場合と異なる場合があります。 あなたの提出はあなたの言語の範囲内の整数を処理する必要があるだけですが、この規則を乱用しないでください。 これはコードゴルフなので、バイト単位での最短の提出が勝ちです。 例 n4 と仮定します。その後f_8、私のソリューションは、(想像上の)言語で出力するプログラムを出力しますj3 1s+/2]!mz。プログラム出力の長さは3で、出力の長さは3 * 4 = 12なので、入力4の解は正しいです。 代わりに、それnが1で、私のプログラムが出力すると仮定しますffffpfpffp(10バイト)。ffffpfpffp選択した言語のプログラムは、10 * 1 = 10バイトの出力を生成する必要があります。
16 code-golf  quine 

14
ネクタイ付きマリオカートスコアリング
私はこのサイトのために作っている別の挑戦に取り組んでいる間、この問題に遭遇しました。そのチャレンジでは、「マリオカート8スコアリング」を利用します。k位のプレーヤーが獲得するポイントの量は、この1インデックス配列[15,12,10,9,8,7,6,5,4,3,2,1]で表されます。したがって、1位には15ポイント、2位には12ポイントなどが割り当てられます。 このようにポイントを割り当てるのは十分簡単ですが、トリッキーな部分にはタイの処理方法が付属しています。私がしていることは、各タイイングプレイヤーに各タイイングプレイスに与えられたポイントの平均を与えることです。たとえば、1番目と2番目だけが同点の場合、両方のプレイヤーは(15 + 12)/ 2 = 13.5ポイントを獲得します。(注:最も近い整数に丸めることができるため、13または14の両方を使用することもできます。)3位から12位までは、通常の位置のポイントを獲得します。 チャレンジ 12個の非負の整数スコアが徐々にソートされている場合、各プレーヤーが獲得するポイント数を出力します。入力としてポイントリスト[15,12,10,9、...]を使用することもできます。各プレイヤーが獲得するポイントの数は、スコアの実際の値ではなく、他のスコアとの比較方法に依存することに注意してください。 テストケース 【21,21,15,14,12,9,6,5,4,3,2,1] => [ 14,14、10,9,8,7,6,5,4,3,2、 1] 【20,15,15,15,10,9,8,7,6,5,4,3] => 15、10,10,10、8,7,6,5,4,3,2、 1] 説明:(12 + 10 + 9)/ 3 = 10.3333 [1,1,1,1,1,1,1,1,1,1,1,1,1] => [ 7,7,7,7,7,7,7,7,7,7,7、 7 ] 説明:(15 + 12 + 10 + 9 + 8 + 7 + 6 + 5 + 4 …

24
連結された三角形の行を合計します
次の三角形を考えてください。 1 23 456 7891 01112 131415 1617181 92021222 324252627 2829303132 33343536373 839404142434 4454647484950 51525354555657 585960616263646 5666768697071727 37475767778798081 お気づきのとおり、最初の行の長さは1で、その後の各行は前の行よりも1桁長く、連結された正の整数の桁が含まれています。 整数Nが与えられます。あなたの仕事は、上の三角形のN番目の行にある数字の合計を見つけることです。 ルール 0または1のインデックス作成を選択できます。答えにそれを明記してください。 デフォルトの抜け穴が適用されます。 入力を取得し、任意の標準手段によって、適切な形式で出力を提供できます。 これはOEIS A066548であり、このシーケンスは三角形自体です(ただし、先行ゼロを削除しないことを除く)。 これはcode-golfなので、バイト単位の最短コード(すべての言語で)が勝ちます。ゴルフをお楽しみください! テストケース Input | Output 0 | 1 1 | 5 2 | 15 3 | 25 4 | 5 5 | 15 6 …

20
セル表記を列挙する
したがって、スプレッドシートの「A1」セル表記に慣れ親しんでいることを願っています。 これは、グリッド内のセルの位置の英数字表現です。文字はセルの列の位置を表し、数字は行を表します。 「文字」部分は、26文字の英字アルファベットの1文字以上で構成できます。これらはすべて大文字でなければなりません。これらは、26進全単射記数法を使用して数値にマッピングされます。「数値」部分は、ゼロ以外の正の整数で構成できます。 チャレンジは、任意のセルのA1表記を単一の文字列として指定するプログラムを作成し、数値として表される列位置、その後にスペース、次に行番号を含む文字列を出力できます。 以下のサンプル入出力: A1 >>1 1 B10 >>2 10 AC4 >>29 4 AAC753 >>705 753 F123 >>6 123 GL93 >>194 93 これが私の最初の課題です。したがって、基準の相対的な単純さと潜在的な欠陥です。 編集:文字列は数字に続く数字でなければならず、勝ちの基準は最短のコード長です(それが問題になる可能性がある場合) 編集:これに関連しますが、異なる開始インデックスで逆のプロセスを行います。この事実がリンクされたパズルをより面白くすると主張する人もいるかもしれません。

6
ダブルスリット実験
怠zyな物理学者は、二重スリット実験を実行する仕事を持っています。ただし、それらは怠け者であり、すべての機器をセットアップすることに煩わされることはないため、エフェクトをシミュレートします。彼らはプログラムできないので、いくつかの助けが必要になります。怠laなので、プログラムはできるだけ短くする必要があります。 奇数の正の整数n(n >= 1およびn % 2 == 1)を指定して、シミュレーションを実行します。 使い方 空のキャンバスから始めて、各フレームの光の粒子がスリットを通過してキャンバスに着地します。パーティクルは次の機会に最大値に到達します: n = 1: +-----+ | | | 1/2 | | | +-----+ n = 3: +-----+ +-----+ +-----+ | | | | | | | 1/4 | | 1/2 | | 1/4 | | | | | | | +-----+ …

16
パーティションはいくつありますか?
正の整数のパーティション番号は、正の整数の合計として表現できるウェイの数として定義されます。言い換えれば、それが持っている整数パーティションの数。たとえば、番号4には次の部分があります。 [[1、1、1、1]、[1、1、2]、[1、3]、[2、2]、[4]] したがって、5パーティションがあります。これはOEIS A000041です。 仕事 与えられた正の整数Nは、そのパーティション番号を決定します。 すべての標準ルールが適用されます。 入力および出力は、合理的な手段で処理できます。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース 入力| 出力 1 | 1 2 | 2 3 | 3 4 | 5 5 | 7 6 | 11 7 | 15 8 | 22 9 | 30 10 | 42

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