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

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

16
2つのセットは等しいですか
{}空のセットです。使用する()か[]、選択した場合。 「セット」を厳密に定義することはしませんが、セットはすべて次のプロパティを満たします。 セットは通常の数学的構造に従います。ここにいくつかの重要なポイントがあります: セットは注文されていません。 セット自体は含まれていません。 要素はセットに含まれるかどうか、これはブール値です。したがって、セット要素は多重度を持つことができません(つまり、要素はセットに複数回存在することはできません)。 セットの要素もセットで{}あり、唯一のプリミティブ要素です。 仕事 2つのセットが等しいかどうかを判別するプログラム/関数を記述します。 入力 stdinまたは関数引数を介した2つの有効なセット。入力フォーマットが理由で緩いです。 有効な入力は次のとおりです。 {} {{}} {{},{{}}} {{{{{},{{}}}}}} {{},{{},{{}}}} {{{},{{}}},{{{{{},{{}}}}}}} 無効な入力: {{} {} Brackets will always be balanced. {{},{}} {} Set contains the same element twice 出力 入力が等しい場合は真の値、それ以外の場合は偽。 テストケース あなたの提出物は、テストケースだけでなく、すべての有効な入力に対して正しく答えるべきです。これらはいつでも更新できます。 真実: {} {} {{},{{}}} {{{}},{}} {{},{{},{{{}},{}}}} {{{{},{{}}},{}},{}} 偽物: {} {{}} {{},{{},{{{}},{}}}} {{{{}}},{},{{}}} …

1
フランセンロビンソン定数の近似
入力が与えられたn場合、小数点以下が桁数で丸められたFransén-Robinson定数の値を出力しますn。 ルール すべての入力は1から60までの整数であると想定できます。 関連する値を保存することはできません-定数は再呼び出しではなく計算する必要があります。 丸めは、次の基準で行う必要があります。 最後の桁に続く桁が5未満の場合、最後の桁は同じままである必要があります。 最後の桁に続く桁が5以上の場合は、最後の桁を1ずつ増やす必要があります。 最初のn+1桁のみを出力する必要があります。 標準の抜け穴が適用されます。 テストケース >>> f(0) 3 >>> f(1) 2.8 >>> f(11) 2.80777024203 >>> f(50) 2.80777024202851936522150118655777293230808592093020 >>> f(59) 2.80777024202851936522150118655777293230808592093019829122005 >>> f(60) 2.807770242028519365221501186557772932308085920930198291220055

2
複利の逆正規表現
Koronkorkoはフィンランド語で複利。私たちは文字列に複利を使いたくないので、それを除外するためにできるだけ短い正規表現を見つけましょう。 大文字のアルファベットAZのみで構成される文字列を指定し、文字列に部分文字列が含まれていない場合、その文字列に一致する可能な限り短い正規表現を決定しKORONKORKOます。KORONKORKO部分文字列として含まれる文字列は、正規表現と一致しないようにする必要があります。 文字だけがA- 、Z、[、]、-、^、、?、*、+、|、(および)式で使用する必要があります。 これは118文字で表現できると思います。短くできますか? 注:この課題は、Ohjelmointiputka(フィンランド語)によるものです。

4
教会の数字を視覚化する
バックグラウンド λ計算の用語の視覚化 有名なラムダジャグラー(およびコードゴルファー)ジョントランプは、λ計算の用語の興味深い視覚化を考案しました。彼の言葉では: 抽象化(ラムダ)は水平線で表され、変数はバインディングラムダから下に伸びる垂直線で表され、アプリケーションは左端の変数を接続する水平リンクで表されます。 たとえば、ラムダ項λf.λx.f(f(f(fx)))は視覚化に対応します。 ------------------- | | | | ------------------- | | | | | | | | |---- | | |---- | |---- |---- | 上から下に読んでください: 最初の水平線は最初のλを表します。 それから降順の4本の線はfは、体内のます。 同様に、2番目の水平線は2番目のλを表し、それから降順の1本の新しい線はボディのxを表します。 右端のf線とx線は、アプリケーション(f x)を表す水平線で接続されています。 次のアプリケーションは(f(f x))などです。 教会の数字 教会の数字は、次のパターンに取って、λ計算における用語の特定のシーケンスです: 0 = λf. λx. x 1 = λf. λx. f x 2 = …

5
Lispでのゴルフのヒント
Lisp(あらゆる方言)でゴルフをする上での一般的なヒントは何ですか?回答ごとに1つのヒントを投稿してください。Lispの方言に固有の回答のみ(たとえば、「コメントの削除」は回答ではありません)。 ヒントが適用されるLispの方言をヒントとともに投稿してください。
9 code-golf  tips  lisp 

13
離散フーリエ変換を計算する
任意の長さのシーケンスに対して離散フーリエ変換(DFT)を実装します。これは関数またはプログラムとして実装でき、シーケンスは引数として、または標準入力を使用して指定できます。 アルゴリズムは、順方向の標準DFTに基づいて結果を計算します。入力シーケンスの長さはNで構成され[x(0), x(1), ..., x(N-1)]ます。出力シーケンスは同じ長さで[X(0), X(1), ..., X(N-1)]、それぞれX(k)が以下の関係によって定義される場所で構成されます。 ルール これはコードゴルフなので、最短のソリューションが優先されます。 順方向または逆方向(逆方向とも呼ばれる)でDFTを計算する組み込み関数は許可されていません。 浮動小数点の不正確さはあなたに対してカウントされません。 テストケース DFT([1, 1, 1, 1]) = [4, 0, 0, 0] DFT([1, 0, 2, 0, 3, 0, 4, 0]) = [10, -2+2j, -2, -2-2j, 10, -2+2j, -2, -2-2j] DFT([1, 2, 3, 4, 5]) = [15, -2.5+3.44j, -2.5+0.81j, -2.5-0.81j, -2.5-3.44j] …
9 code-golf  math 

1
ダブルランレングスエンコーディング
誰もがランレングスエンコーディングとは何かを知っています。これは、すでに多くのコードゴルフの課題の対象となっています。特定のバリエーションを見ていきます。 例 Normal: 11222222222222222222233333111111111112333322 Run-length: 112(19)3(5)1(11)2333322 括弧内の数値は、前のシンボルが発生した回数を示しています。この例では、5文字以上のランのみがエンコードされました。これは、4回以下のエンコード実行では文字数が改善されないためです。 チャレンジ このランレングスエンコーディングのバリエーションを実装する関数/プログラムを記述しますが、2つのシンボルのランをエンコードすることもできます。2つのシンボルのランも括弧で囲む必要があります。グループも括弧で囲まれます。プログラムは文字列を入力として受け入れ、文字列を短くする変更を加えた変更後の​​文字列を出力する必要があります。 例 Normal: 111244411144411144411167676767222222277777222222277777123123123123 Double run-length: 1112((444111)(3))67676767((2(7)7(5))(2))123123123123 ノート 111エンコード(1(3))が短くないため、エンコードされませんでした。 文字列444111は3回出現するため、エンコードされます。 676767((67)(4))以前より長いため、エンコードされませんでした。 222222277777222222277777としてエンコードされていません((222222277777)(2))。どうして?それ222222277777自体をに減らすことができるから2(7)7(5)です。 123123123123 プログラムは3つのシンボルではなく2つのシンボルの実行を処理するため、エンコードされていません。 これはコードゴルフなので、最短のコードが優先されます。タイブレーカーは早期提出です。 私が何かを逃した場合、または何か不明な場合は、コメントでお知らせください。

2
DOGOを解釈する!
DOGOを解釈する DOGOはあまり知られていないプログラミング言語です。オリジナルのDOGO(Usenetの投稿からのジョーク言語)は実装されていませんが、それに似た言語が作成されています。言語のコマンドは次のとおりです。 +===========+================================================================+ | Command | Description | +===========+================================================================+ | SIT | If the value of the current memory cell is 0, jump to STAY. | +-----------+----------------------------------------------------------------+ | STAY | If the value of the current memory cell is not 0, jump to SIT. | +-----------+----------------------------------------------------------------+ | ROLL-OVER | Select …

2
ポリゴンの領域を見つける
s1, s2, s3... s_n円に内接するnゴンの連続する辺の長さを考慮して、その面積を求めます。ポリゴンが存在すると想定できます。さらに、ポリゴンは凸型で自己交差せず、一意性を保証するのに十分です。この課題を具体的に解決するビルトイン、およびサーカム半径またはサーカムセンターを計算するビルトイン関数は禁止されています(これは、このチャレンジの以前のバージョンとは異なります)。 入力:循環ポリゴンの辺の長さ。関数や標準入力などのパラメータとして使用できます。 出力:ポリゴンの面積。 答えは小数点以下6桁まで正確で、適切なラップトップでは20秒以内に実行する必要があります。 これはコードゴルフなので、最短のコードが勝ちます! 特定のテストケース: [3, 4, 5] --> 6 [3, 4, 6] --> 5.332682251925386 [3, 4, 6, 7] --> 22.44994432064365 [5, 5, 5, 5] --> 25 [6, 6, 6, 6, 6] --> 61.93718642120281 [6.974973020933265, 2.2393294197257387, 5.158285083300981, 1.4845682771595603, 3.5957940796134173] --> 21.958390804292847 [7.353566082457831, 12.271766915518073, 8.453884922273897, 9.879017670784675, 9.493366404245332, …

10
マトリックスパワーを見つける
問題 n 乗した行列の結果を計算できるプログラムまたは関数を作成します。コードは任意の正方行列Aと非負の整数nを取り、値A nの行列を返します。 制限事項 行列のべき乗と行列の積を計算する組み込み関数は許可されていません。 コードゴルフの残りの標準ルールが適用されます。 説明 正方行列Aが与えられた場合、A n = AA⋯A(Aとそれ自身のn回の繰り返し行列積)の値。nが正の場合、前述の標準が使用されます。nがゼロの場合、同じ次数のAの単位行列が結果になります。 ゴール これはコードゴルフであり、最も短いコードが優先されます。 テストケース ここで、Aは入力行列、nは入力整数、rは出力行列で、r = A nです。 n = 0 A = 62 72 10 34 r = 1 0 0 1 n = 1 A = 23 61 47 81 11 60 42 9 0 r = …

4
ディスクを安全に消去するための最短コード
DoD 5220.22-Mワイプメソッドの簡略化されたバリアントを実行するための最短のコードを2回の書き込みパスで記述してみましょう。 すべてのプログラミング言語が受け入れられますが、ディスクワイピング指向のライブラリの使用は禁止されています。 擬似コードで実装する方法は次のとおりです。 Set x to 0 [Start] 'Write Pass For each sector in disk write the content of x 'Verification Pass For each sector in disk { If sector does not contain the content of x then goto [Start] } 'Check whether we already did the pass with …
9 code-golf 

6
2つの行列のクロネッカー合計を計算する
以下の実施例において、A及びB2×2の行列となり、行列は一インデックス付きです。 クロネッカー積は、次のプロパティがあります。 A⊗B = A(1,1)*B A(1,2)*B A(2,1)*B A(2,2)*B = A(1,1)*B(1,1) A(1,1)*B(1,2) A(1,2)*B(1,1) A(1,2)*B(1,2) A(1,1)*B(2,1) A(1,1)*B(2,2) A(1,2)*B(2,1) A(1,2)*B(2,2) A(2,1)*B(1,1) A(2,1)*B(1,2) A(2,2)*B(1,1) A(2,2)*B(1,2) A(2,2)*B(2,1) A(2,2)*B(1,2) A(2,2)*B(2,1) A(2,2)*B(2,2) クロネッカーの合計は、次のプロパティがあります。 A⊕B = A⊗Ib + Ia⊗B IaおよびIbは、それぞれおよびの次元を持つ単位行列です。そして、正方行列です。なおし、異なるサイズのものとすることができます。ABABAB A⊕B = A(1,1)+B(1,1) B(1,2) A(1,2) 0 B(2,1) A(1,1)+B(2,2) 0 A(1,2) A(2,1) 0 A(2,2)+B(1,1) B(1,2) 0 A(2,1) B(2,1) A(2,2)+B(2,2) …

5
ハイパーキューブを歩く
私は最近、グラフ理論、特にハイパーキューブについて読み、それらのパスを構築する興味深い方法について考えました。これが私が思いついたものです。 あなたが知っているかもしれませんが、あなたは、以下からなるすべてのnタプルを取ることによってn次元ハイパーキューブを構築することができます1し、0彼らは一桁が異なる場合に限っ、それらを頂点とし、接続します。これらの2進数を整数として解釈すると、頂点が適切に番号付けされたグラフになります。たとえばn=3: このハイパーキューブを散歩して、頂点から始めたいとしましょう0。次に、どの頂点を次に訪問するかをどのように決定しますか?私が思いついたルールaは、あなたがいる頂点の番号を取り、そのmod(a,n)ビットを反転させ(ゼロベースのインデックス付け)、結果の頂点に移動することです。正式には、このルールは次のように再帰的に定義できます。 a[m+1] = xor(a[m], 2^mod(a[m],n)). このルールに従うことで、常にキューブにとどまり、エッジに沿って移動します。結果のパスは次のようになります ご覧のとおり、円を描くように歩きます!実際、すべての次元で、すべての開始点で、パスはループになります。以下のための例えばn=14とa[0]=0、それは次のようになります 熱心なアンブラーにとって、彼の計画されたルートの長さは非常に重要な情報です。したがって、あなたの仕事は、入力としてハイパーキューブの次元nと開始頂点を取りa[0]、結果のループ内の頂点の数を出力する関数またはプログラムを作成することです。 テストケース n a[0] Output ----------------- 3 0 6 14 0 50 5 6 8 17 3 346 ルール 標準の抜け穴は禁止されています 出力/入力は任意の適切な形式にすることができます a[0]有効な頂点であると想定できます 得点 バイト単位の最短コードが優先されます。 このトピックに関する追加情報がありましたら、お聞かせください。

6
ファイナルファンタジーXV未公開!
私はファイナルファンタジーXVアンカバードイベントに夢中になっているので、いつか教えてくれるプログラムを書いて欲しいです !!! 入力 形で自分のテイク入力HH:MM XDT、HH範囲の数であるが1-12、MM間の数であり0-60、そしてXDTで、タイムゾーンXの1つであるE(東部、UTC-4)、 C(中央、UTC-5)、(P太平洋UTC-7)、またはM(山、UTC-6)。これはPMと見なされる時間です。有効な入力は次のとおりです。 1:00 EDT (1 PM Eastern Daylight Time) 4:05 MDT (4:05 PM Mountain Daylight Time) 12:23 PDT (12:23 PM Pacific Daylight Time) 1:10 CDT (1:10 PM Central Daylight Time) 入力は有効であると見なされます。 出力 プログラムは次のことを行う必要があります。 指定された時間をPDTおよび出力It is XX:XX PM PDT.にXX:XX変換します。ここで、は変換された時間です。時間の変換がAM / PM境界を超える場合は処理する必要がないことに注意してください。 次のいずれかを印刷します。 変換された時間が午後6時PDT より前の場合は、を印刷しX minutes until the …
9 code-golf 

4
フレーズを形成するためにエイリアスを置き換える
Cディレクティブに触発されました#define。 チャレンジ いくつかのエイリアスを持つ1つのフレーズと、各エイリアステキストを持つ1つの配列が与えられます。各エイリアスをそれぞれのテキストに置き換える最初のフレーズを出力します。 エイリアスは、1つのシャープで定義され、#その後に配列内のインデックスが続きます(インデックスは0または1から始まる場合があります)。エイリアスにはテキスト内に別のエイリアスを含めることができ、それらをすべて解決する必要があります(おそらく再帰的に)。エイリアスが無限ループに陥ることは決してないと想定できます。エイリアスには先行ゼロ#02はありません(インデックスのエイリアスではなく、テキストの前の2インデックスのエイリアス0です2)。 配列は長さ20項目を渡さないと想定できます。 あなたはプログラム、または関数を書くことができます-それは#define素晴らしいでしょう:) 自分の言語により適した別のインプットメソッドを使用することもできます。 例 phrase: "#0 & #3" array: [ "Programming #1", "Puzzles", "Code", "#2 Golf" ] output: "Programming Puzzles & Code Golf" ステップバイステップ: 0> "#0 & #3" 1> "Programming #1 & #2 Golf" 2> "Programming Puzzles & Code Golf" これはcode-golfなので、バイト単位の最短の回答が優先されます! 別のサンプル phrase: "#0!" array: [ …

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