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

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

8
サーキュラーブルース
正の整数Nを取り込んで、N×Nピクセル画像に合うようにスケーリングされたこの円のパターンを再作成するプログラムまたは関数を作成します。 この画像は、N = 946の有効な出力例です。 明確でない場合、すべての小さな水色の円は同じ半径を持ち、同じように4つの濃い青の円に配置されます。濃い青の円はその半径が2倍で、同じように大きな水色の円に配置されています。 青の2色の代わりに、視覚的に異なる2色を使用できます。 背景の正方形に色を付ける必要があります。 アンチエイリアスはオプションです。 画像をファイルに保存、表示、または生の画像データを標準出力にパイプします。 一般的な画像ファイル形式はすべて許可されます。 バイト単位の最短コードが優先されます。 この円パターンの再帰的側面をさらにレベルに拡張すると、ブラウニーがポイントします。(チャレンジエントリとは区別してください。)

3
特定のサイズのグループをカウントする
グループ 抽象代数では、グループはタプル(G,∗)(G,∗)(G,\ast)であり、ここでGGGは集合であり、∗∗\astは次のような関数G×G→GG×G→GG\times G\rightarrow Gです。 すべてのためのx,y,zx,y,zx, y, zにおけるGGG、(x∗y)∗z=x∗(y∗z)(x∗y)∗z=x∗(y∗z)(x\ast y)\ast z=x\ast(y\ast z)。 要素が存在するにおけるGような、そのすべてのためのxにおけるG、X * E = X。eeeGGGxxxGGGx∗e=xx∗e=xx\ast e=x 毎におけるG、要素が存在するYにおけるGように、X * Y = eは。xxxGGGyyyGGGx∗y=ex∗y=ex\ast y=e グループの順序は、Gの要素の数として定義されます。(G 、∗ )(G、∗)(G,\ast)GGG 厳密に正の整数ごとに、次数nのグループが少なくとも1つ存在します。例えば、(C N、+ Nは)そのような基であり、C N = { 0 、。。。、n − 1 }およびx + n y = (x + y )nnnnnn(Cn、+n)(Cn、+n)(C_n,+_n)Cn= { 0 、。。。、n − 1 }Cn={0、。。。、n−1}C_n=\{0,...,n-1\}。x …

9
関数型プログラミングパラダイムを実装する
あなたの会社はプロジェクトを始めたばかりで、初めて関数型プログラミングコードスタイルを使用することに決めました。しかし、上司は本当に気が進まないため、組み込み関数を使用したくないため、メイン関数を自分で実装する必要があります。特に、あなたは関数を記述する必要があります:Map、Nest、Apply、Range、FoldとTableお好みの言語で。上司は本当に忙しいので、プログラムをできるだけ短くしたいので、読書に時間を浪費しません。彼はまた、ループを使用しないことを望んでいるため、ループを使用しない場合のバイトカウントが10%削減されます。 機能の詳細な要件は以下のとおりです。 地図 Mapこの関数は2つのパラメータを取りますfし、listどこf関数であり、list値のリストです。のf各要素に適用されたを返す必要がありlistます。したがって、次のように機能します。 Map(f,{a,b,c}) 返す { f(a), f(b), f(c) } そして Map(f, {{a,b},{b,c}}) 返す { f({a,b}), f({b,c})} ネスト Nest機能は同様に3つのパラメータを取ります:f、arg、timesどこf機能があり、argその開始引数で、times関数が適用される回数です。にf適用されたtimes時間を含む式を返す必要がありargます。したがって、次のように機能します。 Nest(f, x, 3) 返す f(f(f(x))) そして Nest(f, {a,b}, 3) 返す f(f(f({a,b}))) 適用する Applyこの関数は2つのパラメータを取りますfし、argsどこfの機能とあるargsリスト。に適用fする必要がありますargs。したがって: Apply(f, {a,b,c}) 返す f(a,b,c) 範囲 このRange関数は1つの整数rを取り、その数までの整数を出力します。したがって: Range(5) 返す { 1, 2, 3, 4, 5} 折ります Foldこの関数は3つのパラメータを取りf、arg、othersどこfの関数である、arg簡単なパラメータ、及びあるothersリスト。以下のように機能します: Fold(f, …

8
クレイジーライブラリアンのすばらしい仕分けシステム
学校シーズンに戻りました!アルバイトの場合、学校の図書館で手伝っています。問題は、主任司書が「デューイ十進法」という言葉さえ聞いたことがないことであり、そのシステムを実装したことは言うまでもない。代わりに、ライブラリが拡大するにつれて、使用中の分類システムが「有機的に」成長しました... あなたの正気を保つために、あなたは本が返されるときに本を分類するのを助けるプログラムを書くことを選んだ。(ヘッドライブラリアンは非常に厳格です。) 入出力 入力は、STDIN /同等の言語からの(架空の)書籍タイトルのリストで、1行に1つずつです。 一度に入力できるのは100冊までです(一度に多くの本を図書館に持ち込むことができます)。 書籍のタイトルには複数の単語を含めることができ、これらの単語はスペースまたはその他の句読点(コロン:、ダッシュ-など)で区切ることができます。 計算を簡単にするために、すべてのタイトルがUTF-8であると想定します。 出力は同じタイトルで、以下のルールに従ってソートされ、再び1行に1つずつ、STDOUT /言語に相当します。 ソート規則 書籍は、平均文字値(つまり、累積文字値を書籍タイトルの文字数で割った値)に基づいて数値順にソートされ、次の規則に従ってカウントされます。 すべての文字は、タイトルの文字数を決定するためにカウントされます。 小文字は、アルファベットの位置によってカウントされます。(a = 1、b = 2、... z = 26) タイトルに大文字が含まれる場合、それらは小文字の値(A = 1.5、B = 3、... Z = 39)の1.5としてカウントされます。(「大文字が重要です!」司書は言います。) このリストの各句読点/記号は、!@#$%^&*()-=_+[]\{}|;':",./<>?~平均する前に累積値から-1をカウントします。(「壮大なタイトルは違います!」) タイトルにアラビア数字で書かれた数字が含まれている場合、ソートする前にその数字が平均値から差し引かれます。複数の連続した数字は1つの数字として扱われます(たとえば、424を減算してから2を減算するのではなく、42を減算します)。個々の数字は累積値にはカウントされません(つまり、各数字は0に寄与します)が、DOは文字数にカウントされます。これは負の値になる可能性があるため、適切に処理する必要があることに注意してください。(噂によると、司書は数年前から数学のインストラクターに夢中になっている。) タイトルにで始まる2つの単語が含まれているR場合、本は「無限」のスコアを取得し、コーナーの山に捨てられます(つまり、リストの最後にランダムに配置されます)。(司書は、それらのイニシャルを持つ人によってかつて投げ捨てられた、またはあなたは聞いたことがあります。) スペースは、累積文字値にはカウントされません(つまり、0は寄与します)が、タイトルの文字数には寄与します。 上記のルールに適合しない文字(例:a ÿ)は、累積文字値にはカウントされません(つまり、0に寄与します)が、タイトルの文字数には寄与します。 たとえば、架空の本ÿÿÿÿÿにはの「スコア」が(0+0+0+0+0) / 5 = 0ありますが、架空の本ÿÿyÿÿにはの「スコア」があり(0+0+25+0+0) / 5 = 5ます。 偶然同じ「スコア」の2冊の本を、選択した順序で出力できます。(とにかく同じ棚にあります) 入力例1 War and Peace Reading …

4
再帰的なASCIIスパイラル
この競争は終わりました。エソラン以外の興味深いエントリーに感謝し、JakujeがJavaScriptを受賞したことを祝福します。 このサイトのASCIIアートチャレンジの偉大な伝統に、もう1つあります。入力が与えられたら、らせんを描きます。 &>----v ||>--v| |||>v|| |||@||| ||^-<|| |^---<| ^-----< 簡単ですね ふふふふ...うん... (ASCII Dragons Curve投稿と、オプティマイザーのASCII Art of the Day投稿に触発されました) 入力 入力は、通常のSTDIN /関数の引数などから取得される一連のパラメーターの形式で、4つの部分で構成される同等の言語になります。これらの部分は、4つの引数、4つ、サイズ4の配列などになります。チャレンジ全体を通して単純さと一貫性を保つために、入力を1つの単語として表します。 2 ≤ x ≤ 20スパイラルのサイズを「正方形」で指定する整数。各印刷文字は1つの「正方形」を表します。理論的にはこれは非常に範囲が広いかもしれませんが、ASCIIアートを描いていることを考えると、これは画面上である程度適切に収まるように、これの安全な上限は20になります。 d u rまたはの1文字。l開始「正方形」からの最初の動き(下、上、右、左)を示します。 c「反時計回り」を示すオプションの。cが省略された場合、スパイラルが時計回りに回転すると仮定します。 1 ≤ y ≤ 10前のスパイラルの仕上げ「正方形」を新しいものの開始「正方形」として使用して、スパイラルの描画を再帰する回数を指定する最後の整数。描画をある時点で終了させるため、上限の10を選択しています。 いくつかの入力例: 20lc5 13d2 2rc1 興味深いことに、サイズ入力の奇数の値は@常にスパイラルの正確な中心になりますが、偶数の値は、初期の方向に応じて、4つの斜め方向のいずれかで開始「正方形」オフセットを持つ場合があることに注意してください旅行。これにより、いくつかの...興味深い...パターンが生じる可能性があります。以下の2つの偶数の例を参照してください。 入力仕様に従っていない入力(例11q#s:)は未定義であり、プログラムが適切にbarfすることを完全に期待しています。:) 出力 出力は、言語と同等のSTDOUTを介したASCII印刷可能な出力であり、次の仕様があります。 (各再帰の)開始「正方形」は、アットマークでマークする必要があります@。 最後の「正方形」は、アンパサンドでマークする必要があります&。複数の再帰の場合、最後の「正方形」のみをマークする必要があり&ます。 スパイラルパスの角は、を使用して、進行方向を「指す」必要があり< > v ^ます。 垂直移動はパイプで引く必要があります|。 …

26
PPCGファビコンを作成する
11月1日、プログラミングパズルとコードゴルフが卒業するので、今後11か月以内に、卒業していないときの思い出を保存したいと思います。 以下に示すPPCGファビコンを生成するプログラムを作成します。 画像は少なくとも64x64ピクセルである必要があります。 青は色#62B0DFでなければなりません。背景は白または明るい灰色です。 画像はここのようにピクセル化する必要はありません。 または、シアンと白の標準の明るいANSIカラーコードを使用して、テキスト(少なくとも64x64の非空白文字)を作成します。 組み込み画像とPPCGロゴのインポートは許可されていません。 これはコードゴルフなので、標準的な規則が適用されます。バイト単位の最短コードが優先されます。

13
あらゆる可能なサイクル長
入力を受け取り、出力を提供する関数(またはプログラム)は、独自の出力で関数を繰り返し呼び出して最終的に元の数に達した場合、サイクルを持っていると言えます。たとえば、次の関数を使用します。 Input: n 1 2 3 4 5 6 Output: f(n) 5 7 1 3 4 9 我々が開始するとn=1、f(n)=5、f(f(n))=f(5)=4、f(f(f(n)))=f(4)=3、f(f(f(f(n))))=f(3)=1。 これは書かれてい(1 5 4 3)ます。このループには4つの一意の番号があるため、これは長さ4のサイクルです。 あなたの課題は、あらゆる長さのサイクルを持つプログラムまたは関数を書くことです。つまり、長さ1、長さ2などのサイクルが必要です。 さらに、関数/プログラムは正の整数から正の整数である必要があります。また、すべての正の整数にわたって、可能な出力値ごとに1つの入力値が存在する必要があることを意味するbijectiveでなければなりません。別の言い方をすれば、関数/プログラムは正の整数の順列を計算する必要があります。 詳細:STDIN、STDOUT、関数の引数、戻り値など、標準の入出力システムはすべて許可されます。標準の抜け穴は禁止されています。 データ型の制限について心配する必要はありません-上記のプロパティは、たとえば、任意の値を保持できる、intまたはfloat任意の値を保持できるという仮定の下でのみ保持する必要があります。 正の整数ではない入力に対する関数の動作に制限はなく、これらの入力/出力は無視されます。 得点はバイト単位のコードゴルフで、最短のコードが勝ちです。

2
ダイヤモンドタイルを回転させる
たとえば、次のように、通常の六角形にダイヤモンドを並べることができます(この質問から盗まれました)。 ______ /_/_/\_\ /_/\_\/\_\ /\_\/_/\/_/\ \/_/\_\/_/\/ \_\/_/\_\/ \_\_\/_/ 上記はサイズ1のタイルと考えます(ダイヤモンドの側面はそれぞれ1つまたは\で作られているため)。サイズ2の同じタイリングは次のようになります。 ____________ / / /\ \ /___/___/ \___\ / /\ \ /\ \ /___/ \___\/ \___\ /\ \ / /\ / /\ / \___\/___/ \/___/ \ \ / /\ \ / /\ / \/___/ \___\/___/ \/ \ \ / /\ \ / …

10
画像の平均色
画像の平均色 科学者は宇宙の平均色を決定できましたが、画像の平均色は何バイトで見つけることができますか? あなたのタスク 入力は単一の画像になり、画像内の色の平均を見つけて16進数の色文字列(#??????)を出力する必要があります。画像は次の形式のいずれかです。 JPEG / JFIF JPEG 2000 TIFF GIF BMP PNG PNM PPM 入力は、画像へのURL / URIとして取得することもできます。 ImageMeasurements許可されていないなど、平均を計算したり、一度に画像をサンプリングしたりする組み込み関数。 例 結果は、平均の計算方法と使用するカラーモデルによってわずかに異なります。下の画像にRGBとLCH(HSV)の値を追加しました。 出力:#53715FRGB、#3B7D3DLCH(HSV)の場合もあります 出力:#8B7D41RGB、#96753CLCH(HSV)

8
簡単ですか、それとも難しいですか?
あなたの難しいことをするために、あなたはいくつかの単語が簡単な方法で説明されるかどうかを見つけることをするためにコンピュータのために何かを作らなければなりません。使用頻度の最も高い単語100語のみを使用する場合、何かが簡単に説明されます。そうでない場合は、難しい方法で説明されます。これは、完全なコンピューターのものでも、コンピューターのものの一部でもかまいません。(完全なプログラムまたは機能) コンピューターには、各単語の間にスペースを入れて1万個の単語がすべて含まれているものを読む必要があります。コンピューターが読み取るものの名​​前は「most used.txt」と呼ばれます。このコンピューターの場所からこのことを取ることができます。 コンピューターを使用する人は、いくつかの単語を入力します。(これはSTDIN、関数の引数、またはコマンドラインの引数から取得できます)コンピューターは、単語が単純な場合はtrueのように、難しい場合はtrueではないようなものを言う必要があります。(真実-偽)コンピューターがすることを最短にする人が最高です。すべての人が悪いと知っていることは悪いことです。(標準の抜け穴が適用されます) コンピュータの仕組みがどのように機能するかについて知っておくべきこと: 単語が大きいか小さいかは関係ありません。 単語の意味をわかりやすくするための写真(句読点)は重要ではありません。そのため、コンピューターを使用する人が「しない」と言っても、「しない」という言葉と異なる言葉ではありません。数字やその他の写真も関係ありません。だから、人が「HE $$ ll9o」と言ったら、コンピュータは「hello」のように読むべきです 単語(ダッシュ)間の小さな線は、スペースと同じように機能します。したがって、「up-goer-five」という単語は「up-goer five」という単語と同じです。 このような単語の作成について知っておくべきこと: https://xkcd.com/1133/ http://splasho.com/upgoer5/#
21 code-golf  string 

12
ASCII Maya番号
入力として正の整数を指定すると、Maya数字でその整数の表現を出力するプログラムまたは関数を記述します。 マヤの数字 Mayaの数字は、3つのシンボルのみを使用した仮想システム(基数20)です。 < >以下のためにゼロ(正しい記号を容易ASCIIを使用して表すことができないシェルのいくつかの並べ替えです)。 .以下のための一つ ----以下のためのファイブ 数値は20の累乗で垂直に書き込まれ、0〜19の数値は5と1のスタックとして書き込まれます。詳細については、Wikipediaの記事を参照してください。 例として、0から25までの数字をコンマで区切って示します。 . .. ... .... . .. ... .... ---- ---- ---- ---- ---- . . . . . . . .. ... .... ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- < >, . , .. ,... ,....,----,----,----,----,----,----,----,----,----,----,----,----,----,----,----,< >, …

5
今日のランダムアスキーアート#5:ダイヤモンドのタイル
マッシュアップタイム! これは、私のランダムゴルフオブザデイとオプティマイザーのASCIIアートオブザデイシリーズの両方の第5回です。このチャレンジでの投稿は、両方のリーダーボードにカウントされます(リンクされた投稿を見つけることができます)。もちろん、これを他のコードゴルフチャレンジと同様に扱い、いずれかのシリーズについてまったく心配することなく答えることができます。 穴5:ダイヤモンドのタイル 通常の六角形は、常に次のようにダイヤモンドでタイル化できます。 これらのタイルのASCIIアート表現を使用します。辺の長さが2の六角形には、このようなタイルが20個あります。 ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ /\_\_\ /\_\_\ /\_\_\ /\_\_\ /_/\_\ /_/\_\ /\_\_\ /_/\_\ /_/\_\ /_/\_\ /\/\_\_\ /\/_/\_\ /\/_/_/\ /\/_/\_\ /\_\/\_\ /\_\/_/\ /\/_/_/\ /\_\/\_\ /\_\/_/\ /_/\/\_\ \/\/_/_/ \/\_\/_/ \/\_\_\/ \/_/\/_/ \/\_\/_/ \/\_\_\/ \/_/\_\/ \/_/\/_/ \/_/\_\/ \_\/\/_/ \/_/_/ \/_/_/ \/_/_/ \_\/_/ \/_/_/ …

5
中国語チェッカーボード
中国のチェッカーのゲームは、6つの尖った星の形をしたスペースのあるボードでプレイされます。 ウィキペディアからの画像 .空のスポットとGYORPB6色の開始位置の文字を使用して、このボードのASCIIアート表現を作成できます。 G G G G G G G G G G B B B B . . . . . Y Y Y Y B B B . . . . . . Y Y Y B B . . . . . . . Y Y B …

9
Collat​​z Cousinsの計算
次のように、正の整数nに対して関数f(n)を定義します。 n / 2、nが偶数の場合 3 * n + 1、nが奇数の場合 この関数を0より大きいnに繰り返し適用すると、結果は常に1に収束するように見えます(まだ誰も証明できていませんが)。このプロパティはCollat​​z予想と呼ばれます。 整数の停止時間を、1に達するまでCollat​​z関数fを通過する必要がある回数として定義します。最初の15個の整数の停止時間は次のとおりです。 1 0 2 1 3 7 4 2 5 5 6 8 7 16 8 3 9 19 10 6 11 14 12 9 13 9 14 17 15 17 Collat​​z cousinsと同じ停止時間で数字のセットを呼び出しましょう。たとえば、5と32はCollat​​zのいとこであり、停止時間は5です。 あなたのタスク:非負の整数を取り、その整数に等しい停止時間を持つCollat​​zのいとこのセットを生成するプログラムまたは関数を作成します。 入力 STDIN、ARGV、または関数引数を介して指定された非負の整数S。 出力 停止時間がSであるすべての数値のリスト。昇順でソートされています。リストはプログラムによって出力されるか、関数によって返されるか出力される場合があります。出力形式は柔軟性があります。スペース区切り、改行区切り、または言語の標準リスト形式は、数字が簡単に区別できる限りは問題ありません。 必要条件 提出は、S≤30に対して正しい結果を提供する必要があります。数時間または数日ではなく、数秒または数分で完了する必要があります。 …

16
ビットストリング物理学
バックグラウンド はい、ビットストリング物理学は本物です。アイデアは、確率論的ルール...または何かの下で進化するビット列のみを使用して、物理学の新しい理論を構築することです。それについていくつかの論文を読んだにもかかわらず、私はまだかなり混乱しています。ただし、ビットストリングユニバースは、素敵な小さなコードゴルフを実現します。 プログラムユニバース ビットストリング物理学は、いわゆるプログラムユニバースで行われます。宇宙の進化の各ステップには、2要素のリストで始まる、L長さのあるビット文字列の有限リストがあります。1つのタイムステップは、次のように処理されます(Pythonのような擬似コード)。k[10,11]k = 2 A := random element of L B := random element of L if A == B: for each C in L: append a random bit to C else: append the bitwise XOR of A and B to L すべてのランダムな選択は、一様にランダムであり、互いに独立しています。 例 4ステップの進化の例は次のようになります。最初のリストから始めますL。 10 11 同じ行であるA …

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