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

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

12
和で行列を埋める
チャレンジ: 正方形の入力行列Aが与えられた場合、4辺すべてに1行1列の行列を埋め込みます。 上下の行の各要素の値は、対応する各列の要素の合計である必要があります。 左右の列の各要素の値は、対応する各行の要素の合計である必要があります。 左上の要素と右下の要素の値は、対角線上の要素の合計である必要があります 右上隅と左下隅の要素の値は、対角線の要素の合計である必要があります。 例: A = 1 5 3 3 2 4 2 5 5 Output: 8 6 12 12 7 9 1 5 3 9 9 3 2 4 9 12 2 5 5 12 7 6 12 12 8 説明: 左上の要素と右下の要素は、対角線1 + 2 + 5 …

12
Divinacciシーケンス
ディビナッチ(OEIS) フィボナッチ数列を実行しますが、代わりに次を使用します。 f(n) = f(n-1)+f(n-2) つかいます: f(n) = sum(divisors(f(n-1))) + sum(divisors(f(n-2))) の入力に対してn、n番目の項を出力するには、プログラムに1つの入力のみが必要です。 最初の14の用語(0からインデックス、1からインデックス、使用した状態): 0 | 0 # Initial | [] 1 | 1 # Initial | [1] => 1 2 | 1 # [] + [1] | [1] => 1 3 | 2 # [1] + [1] | [1,2] => …

14
成功へのクロマキー
RGBカラー値#00FF00はかなり重要な値です。映画、テレビ番組、天気予報などの作成に使用されます。有名な「TV緑」または「緑スクリーン」の色です。 チャレンジ あなたの仕事は、PNG形式(または画像ライブラリの画像オブジェクトタイプ)と同じサイズの2つの入力画像を取得するプログラムを書くことです。1つのイメージには、任意の古いイメージを使用できます。もう1つは、色の背景を持つ画像です#00FF00。出力イメージは、最初のイメージの上にオーバーレイされた2番目のイメージで構成され、#00FF00色は存在しません(最初のイメージを除く)。入力や出力は、ファイルやGUIなどで実行できます。ここに示すように、RGB値の配列を入力として使用できます。画像には完全な不透明度のピクセルしかないと仮定できます。 基本的に... #00FF001つの画像のすべてのピクセルを取得し、背景画像の対応するピクセルに置き換えるプログラムを作成します。 テストケース @dzaimaが提供するもの:背景: 前景: 出力: もちろん、標準の抜け穴は固く禁じられています。これには、オンラインリソースを使用して行うことが含まれます。 これはコードゴルフですので、最短のコードが勝ち、最高のプログラマーが繁栄するかもしれません...

7
最短加算チェーン
加算チェーンは、1から始まる整数のシーケンスで、最初の1以外のすべての整数は、2つの前の整数の合計です。 たとえば、追加チェーンは次のとおりです。 [1, 2, 3, 4, 7, 8, 16, 32, 39, 71] 加算チェーンにする合計は次のとおりです。 1 + 1 = 2 1 + 2 = 3 1 + 3 = 4 3 + 4 = 7 1 + 7 = 8 8 + 8 = 16 16 + 16 = 32 7 + …

17
数字のパターンと一致しますか?
最近、数学のテストを受けましたが、テストの特定の数が興味深いパターンに一致していることに気付きました。番号(28384)は、次のような一般的な数字列と一致しました (n)(x)(n+1)(x)(n+2)(x)(n+3) etc... ここでnおよびxは1桁の整数です。シーケンスのいずれかで始めることができxたりnと、いずれかの端にxかn+y。 タスクは、複数桁の正の整数が与えられると、入力がパターンに一致するかどうかに応じて、真偽値または偽値を出力します。入力は4〜18桁です。入力を整数の文字列表現として受け取ることができます。入力は0で始まりませんが、0を含むか、0で終わることができます。 n+y 常に1桁の数字になります(したがって、長さの制限が18である理由)。 テストケース これらは真実の値を出力するはずです 182838485868788898 4344 85868 12223242526 そして、これらは偽物でなければなりません 12345 6724013635 36842478324836 1222232425 5859510511 すべてのコードゴルフと同様に、最短のコードが勝ちます!幸運と可能性があります、あなたの好意でこれまで!

1
それはサボテンですか?
グラフ理論では、サボテンは接続されたグラフであり、グラフ内の異なる2つの単純なサイクルは、せいぜい1つの頂点を共有します。 これは、破線で囲まれた3つの単純なサイクルを持つサボテンです。 次のグラフは上の図と似ていますが、赤でラベル付けされた2つの頂点が2つの単純なサイクルで共有されているため、サボテンではありません。 たとえば、次のグラフのように、物事は少し複雑になります。 サボテンのように見えるかもしれませんが、そうではありません。これは、次のサイクルを強調表示することで表示できます。 このサイクルは、グラフの多くの明白なサイクルと複数のポイントを共有します。 定義 接続グラフは、任意の2つの頂点間に少なくとも1つのパスが存在するようなグラフです。 単純なサイクルは、同じ頂点で開始および終了し、頂点を複数回訪れないグラフ上のパスです。 単純なグラフは、頂点が2つ以上のエッジで互いに接続されておらず、頂点がそれ自体に接続されていない、無向で重みのないグラフです。シンプルなグラフは、最も基本的なタイプのグラフであり、ほとんどの人がグラフと言ったときの意味です。 仕事 入力として単純なグラフを取り、それがサボテングラフかどうかを判断します。TrueとFalseの2つの異なる値を出力する必要があります。適切な形式で入力できます。 これはコードゴルフですので、回答のバイト数を最小限に抑えることを目指してください。 テストケース 隣接行列としてのテストケース

16
ボックス内にASCIIボックスを描く
問題 与えられた入力 a,b,c a,b,c正の偶数整数はどこですか そして a > b > c 寸法付きの許可された文字のボックスを作成します a x a b x b前の寸法内の異なる許容文字のボックスを中央に配置します c x c前の寸法内の別の異なる許可された文字のボックスを中央に配置します 許可される文字はASCII文字です [a-zA-z0-9!@#$%^&*()+,./<>?:";=_-+] 入力 a=6, b=4, c=2 ###### #****# #*@@*# #*@@*# #****# ###### 入力 a=8, b=6, c=2 ######## #******# #******# #**@@**# #**@@**# #******# #******# ######## 入力 a=12, b=6, c=2 ############ ############ …

30
ドラゴンカーブシーケンス
ドラゴン曲線配列(または通常の紙折り配列)がバイナリシーケンスです。 a(n)は、の最下位1の左ビットの否定によって与えられnます。たとえば、計算するにa(2136)は、まずバイナリに変換します。 100001011000 最下位ビットを見つけます 100001011000 ^ 少し左へ 100001011000 ^ そしてその否定を返します 0 仕事 入力として正の整数を指定すると、output a(n)。(整数またはブール値で出力できます)。バイト単位で測定したコードをできるだけ小さくすることを目指してください。 テストケース 以下は最初の100エントリです。 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 1 1 …

30
文字列を分割する
チャレンジ 文字列と番号が与えられると、に文字列を分割し、その多くの等しいサイズの部分。たとえば、数値が3の場合、文字列の長さに関係なく、文字列を3つの部分に分割する必要があります。 文字列の長さが指定された数値に均等に分割されない場合は、各ピースのサイズを切り捨てて「残り」文字列を返す必要があります。たとえば、入力文字列の長さが13で、数値が4の場合、それぞれサイズ3の4つの文字列とサイズ1の残りの文字列を返す必要があります。 余りがない場合、単純にそれを返さないか、空の文字列を返すことができます。 指定された数値は、文字列の長さ以下であることが保証されています。たとえば、7つの文字列に分割できない"PPCG", 7ため、入力は発生し"PPCG"ません。(適切な結果はになると思い(["", "", "", "", "", "", ""], "PPCG")ます。これを入力として単に禁止する方が簡単です。) いつものように、I / Oは柔軟です。文字列のペアと残りの文字列、または最後に残りの文字列のリストを返すことができます。 テストケース "Hello, world!", 4 -> (["Hel", "lo,", " wo", "rld"], "!") ("!" is the remainder) "Hello, world!", 5 -> (["He", "ll", "o,", " w", "or"], "ld!") "ABCDEFGH", 2 -> (["ABCD", "EFGH"], "") (no remainder; …
23 code-golf  string 

18
シャッフルされたカードのデッキを印刷する
入力 なし 出力 52枚。重複なし。カードは、uniなどのユニコード文字として表されます。 Unicodeのコードポイントは、次のフォーマットに従います。 最初の3桁は1F0です。 次の桁であるA、B、C、またはDそれぞれスペード、ハート、ダイヤ、クラブのために。 次の桁がある1経由CしてE様々な数/フェイスカード用。1エースは、ある2- A数のカードです、とB、Dと、Eそれぞれジャッキ、女王、王です。(Cほとんどのデッキにはない騎士です。) 出力例: 🂶🃁🃛🃎🂧🂵🃗🂦🂽🂹🂣🃊🃚🂲🂡🂥🂷🃄🃃🃞🂺🂭🃑🃙🂪🃖🂳🃘🃒🂻🃆🂮🃍🂱🂴🃋🂸🃈🃅🃂🂨🃓🃉🂾🃇🂩🂢🂫🃔🃕 🂤🃝 ルール: これはcode-golfです。最短回答が勝ちます。 禁止された抜け穴は禁止されています。 実際にデッキをランダム化する必要があります。20回実行する場合、20のランダムな(そしておそらく最もユニークな)出力を生成する必要があります。 注意 ボックスのみが表示される場合は、DejaVuフォントをインストールしてください。

6
追加または前置?依存する
Brain-flakは明日1歳になります!誕生日を記念して、PPCGスタイルのバースデーパーティーを開催します。このパーティーでは、数人のユーザーがブレインフラック関連の質問を投稿します。祝福にご協力ください!:) Brain-flakは私が書いた難解な言語で、すべてのコマンドが括弧であり、すべての括弧が完全に一致する必要があります。私自身の定義を借りるには: この課題のために、「括弧」は次の文字のいずれかです()[]{}<>。 次のように、開始ブラケットと終了ブラケットが正しい順序であり、中に文字がない場合、一対のブラケットは「一致」とみなされます。 () []{} または、その中のすべてのサブ要素も一致する場合。 [()()()()] {<[]>} (()()) サブエレメントは、いくつかのレイヤーの深さにネストすることもできます。 [(){<><>[()]}<>()] <[{((()))}]> 次の場合にのみ、文字列は「完全一致」と見なされます。 すべての文字は角かっこです。 ブラケットの各ペアには、正しい開閉ブラケットが正しい順序であります Brain-Flakの1歳の誕生日を祝うために、今日の課題は、不均衡なブラケットセットを取得し、それを有効なBrain-Flakにするために必要な操作の種類を決定することです。 たとえば、((は有効なbrain-flakコードではありませんが、これに追加))すると、になり(())、完全にバランスが取れているため、有効なbrain-flakです。これにより、この入力が追加可能になります。 同様に、>}は有効ではありませんが{<、makeに追加して有効にすることができ{<>}ます。これにより、この入力がprependableになります。 一部の入力はやや複雑です。たとえば、)][({追加または追加するだけでは有効にできません。しかし、それはできる付加することで有効となること[(と追記します})]。したがって、この入力はprependableとappendableの両方です。 最後に、一部の入力は、アペンドまたはプリペンドの任意の組み合わせによって、有効なブレインフラックコードにすることはできません。たとえば、(>有効にすることはできません。(前置を<作成し<(>、及び添付の)作成(>)、有効でどちらも)ため、この入力は、追記又はprependableもありません。 今日の課題では、括弧の文字列を取り、その文字列が appendable prependable both neither 各ケースを表すために使用する値を選択できます。たとえば、、、、1, 2, 3, 4またはを出力する'a', 'p', 'b', 'n'か1, 'foo', 3.1415, -17、何でも問題ありません。各出力が明確で一貫している限り、それは問題ありません。あなたはしなければならないが、明らかに出力対応の場合に指定します。 最も便利な形式でこの値を返すことができます(たとえば、関数から戻る、STDOUTに出力する、引数を変更する、ファイルに書き込むなど)。 入力が有効なブレインフラークまたは空になることはないと想定できます。 例 次の入力はすべて付加可能です: )) (((()()())))} )>}] ()[]{}<>) これらはすべて追加可能です: (({}{}) (((( ([]()())( {<<{ これらはすべて両方です: …

15
1つの数字で構成できる英数字の数を調べる
英数字にはASCII値があります。 0-9 -> 48-57 A-Z -> 65-90 a-z -> 97-122 あなたの挑戦は、入力として整数を取り、その数の連続した数字を使用して作成できる文字数を出力することです。文字コードが重複している可能性があります。が2回ある666ため、結果は2になります66。 テストケース: Input: 5698 Possible characters: '8' (56), 'E' (69), 'b' (98) Output: 3 Input: 564693 Possible characters: '8' (56), 'E' (69) Output: 2 Input: 530923864209124521 Possible characters: '5' (53), 'V' (86), '4' (52) Output: 3 Input: 1111111 Possible characters: …
23 code-golf  string 

3
ドラゴンのイメージ
正方形から作られた双竜の曲線のクールなGIFを見て、別のベース画像から始めたらどうなるのだろうと思った。そこで、これを行うプログラムを作成しました。 とてもクールなので、チャレンジとしてそれをするのは楽しいと思いました。 仕事 エッジの長さが2の累乗(4より大きい)の正方形の画像を取り込みます。 この画像を作成するには、画像を同じサイズの4つの垂直バンドに分割し、隣接するバンドを画像のサイズの1/8の反対方向にシフトすることから始めます(シフトしたバンドは反対側に回り込む必要があります)。その後、イメージを2倍の分割に分割し、前の半分までシフトするたびに、このプロセスを繰り返す必要があります。各反復では、垂直シフトと水平シフトを交互に行う必要があります。シフトを行うには、ピクセルの端数(これは常に1/2になる)だけシフトする必要があるまで、その時点で繰り返す必要があります。 垂直に奇数のバンドを左からシフトする場合(インデックスがゼロ)、下にシフトし、偶数にシフトします。水平方向に奇数のバンドを上からシフトする場合は、左にシフトし、偶数のバンドを右にシフトする必要があります。 変換の最終結果を出力/表示するだけでよく、gifのようなすべての中間ステップではありません。 これはコードゴルフなので、目標は、ソースコードの長さをバイト単位で最小化することです。 例を通して働いた ページの上部に表示される猫のgifをフレームごとに処理します。 これが開始イメージです。 この画像は512 x 512ピクセルです。4つのバンドに分割して、各バンドを開始し、画像サイズの1/8(64ピクセル)ずつ垂直にシフトします。 これを2倍のバンド(8バンド)に分割し、前回の半分(32ピクセル)までシフトします。今回は水平にシフトします。 今度は再び垂直方向にシフトし、今回は16バンドに分割し、各バンドを16ピクセルずつシフトします。 32バンド、8ピクセル、水平シフト 64バンド、4ピクセル、垂直シフト。 128バンド、2ピクセル、水平シフト。 256バンド、1ピクセル、垂直シフト。 次のシフトでは各バンドを半ピクセルずつ移動する必要があるため、この時点で停止して結果を出力します。 テストケース これらの画像を作成できる作業スクリプトがあるので、テストケースの画像を選択できるようにしたいと思いました。したがって、幅が2のべき乗である正方形の画像があり、その画像をドラゴンにしたい場合があります。それを私に送ってください、そして、私はそれをテストケースにします。 また、ピクセルが消えているかどうかを判断できるように、白または黒一色のイメージでテストする必要があります。

16
今日のランダムゴルフ#8:無限リストをシャッフル
シリーズについて まず、これを他のコードゴルフチャレンジと同様に扱い、シリーズについてまったく心配することなく答えることができます。ただし、すべての課題にリーダーボードがあります。最初の投稿では、リーダーボードとシリーズに関する詳細情報を見つけることができます。 8番ホール:無限リストをシャッフルする 入力として無限リストを取り、そのリストのシャッフルされたバージョンを返す関数またはプログラムを作成する必要があります。 無限I / Oについて このチャレンジの入力を取得して出力を生成する方法はいくつかあります。 正の整数のリスト、またはその文字列表現、または印刷可能なASCII文字(0x20〜0x7Eを含む)の文字列またはリストを使用できます。出力形式は入力形式と一致する必要があります。選択したオプションに関係なく、今後はデータを「リスト」と呼びます。 無限標準入力ストリームからリストを読み取り、無限標準出力ストリームに出力を連続的に書き込むことができます。ソリューションは、出力ストリームが定期的に書き込まれ、フラッシュされることを保証するために、特定の値または値のシーケンスに依存してはなりません(たとえば5、入力リストにaがある場合は出力を書き込むことはできません)。もちろん、リストの文字列表現を読んだ場合、リストの区切りに遭遇するまで待つのは問題ありません。 それらをサポートする言語では、怠zyな無限リストまたは文字列を受け取って返す関数を作成できます。 それらをサポートする言語では、入力として別のジェネレーターを使用する無限ジェネレーターを実装できます。 あるいは、引数を取らず、呼び出されるたびに1つの出力値を返す関数を作成できます。この場合、引数をとらず、呼び出されるたびに次の入力値を返す関数が定義されていると想定できます。その関数の名前は自由に選択できます。 プログラムが永久に実行され、無限のメモリが利用可能であると仮定するかもしれません。(有限のメモリ量でこれを解決することは可能ですが、これが意味することは、メモリをリークすることを許可されているということです。) ランダム性について 無限入力の位置iで読み取られる値vについては、無限出力の位置i-9からi + 9のいずれかで終わるための正の確率がなければなりません(その位置が負でない限り) )。これらの確率は、異なる出力位置、または異なる入力位置でも同じである必要はありません。ソリューションが値をさらに離れた別の位置にシャッフルできる場合も問題ありません。 したがって、ソリューションが最初の値をリストの非常に下までシャッフルしたり、最初の位置まで非常に遅い値をシャッフルしたりする必要はありません。入力が可能です。 たとえば、次の文字列を入力として使用した場合、___はX、出力で終了する必要があるすべての位置を示します。 ___________________ abcdefghijklmnopqrstuvwxyzXabcdefghijklmnopqrstuvwxyz... 言語に組み込みの乱数ジェネレーターがない場合、または使用したくない場合は、入力として追加のシード値を取得し、シードを使用して適切なRNGを実装できます。このページはそのために役立つかもしれません。 ソリューションが使用する実際の分布に関係なく、有限(ただし任意)の時間後にほぼ確実に次の値を生成する必要があります。 実装がこれらの要件を満たす方法についての簡単な説明を含めてください。 得点 これはcode-golfであるため、バイト単位で測定された最短の有効な答えが勝ちです。 リーダーボード シリーズの最初の投稿はリーダーボードを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、すべての回答を見出しで開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes (言語は現在表示されていませんが、スニペットはそれを必要とし、解析します。将来、言語ごとのリーダーボードを追加するかもしれません。)

10
雨滴が私の…グラスに落ちていますか?
私は雨が降る英国に住んでいます。たくさん。また、見るためにメガネを着用する必要があるという不幸な必要性があります。つまり、雨が降ったとき(現在のように)、私はメガネをほとんど見ることができません。この挑戦はあなたがすべて同じことを経験できるようにするためです! 仕事 毎秒水滴が追加されたASCIIアートグラスを出力します。 入力 なし 出力 水滴が付いた眼鏡。 眼鏡 ________________________ | /__\ | | / \ | | / \ | \_______/ \_______/ 雨滴 雨滴はで示されます.。雨滴がメガネのレンズにランダムに配置されます。雨滴が置かれると、メガネは次のようになります ________________________ | /__\ | | . / \ | | / \ | \_______/ \_______/ 空白スペース()に.配置されている場合、イメージに配置されます。既に雨滴のある正方形に置かれた場合、滴は卒業します。 ドロップの手順は 滴下なし: 1滴配置: . 配置された2つのドロップ: o 配置された3つのドロップ: O 4個以上のドロップを配置: @ …

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