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

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

4
言葉の音
あるものを別のものとして視覚化できるように、人々は多くのことを書いてきました。今、私は手紙を音楽に翻訳できることを提案します!テキストファイルを取り、各文字がからの特定のノートに変換されたサウンドファイルを出力するプログラムを作成するのがあなたの仕事C3-C8です。 免責事項-私は実際に音楽が良い音を出すことを期待していませんが、私は驚かれることを望んでいます。 仕様書 ファイルの名前を文字列として、BPM(1分あたりのビート)をintとして受け取ります 大文字AをメモにするC3 そして、以下の順番ですべてのキャラクターを半歩上に移動します。 ABCDEFGHIJKLMNOPQRSTUVWXYZ ()-,;.'"abcdefghijklmnopqrstuvwxyz はい、すべての文字が使用されるわけではありません。すべての文字がオクターブにまたがっているからです。 この方法でファイル内のすべての文字を翻訳します 与えられたBPMで4分音符としてメモをまとめる サウンドファイルとして保存するか(midiが最も簡単だと思いますが、何でも構いません)または再生します 正常な入力形式であれば問題ありません 標準的な抜け穴はありません これはコードゴルフなので、バイト単位の最短コードが勝ちです! ボーナス 出力の転置を許可する-50バイト 複数のファイルを取得することで、複数のトラックを互いに重ねることができます-75バイト 連続した文字を1つの長いメモに結合する-50バイト 編集:うわー、負のスコアがあります。土曜日に勝者を発表します。
11 code-golf  music  audio 

6
Piを送信...正確に
Piのモンテカルロ推定量に続いて、この課題は定数Piの最短コードを生成することです。ここを除き、コードはpiの連続した数字を永久に出力する必要があります。 これはコードゴルフであるため、妥当なPCで10秒未満で最初の10,000桁を出力する必要があり、終了しないことを除いて、最短の提出(バイト単位)が勝ちます。 Piまたはtrig関数に組み込み関数を使用することはできません。 コードサイズのハード制限を削除しました。
11 code-golf  math  pi 

6
対角バロウズ・ウィーラー変換を解く
前書き この課題では、対角線のバロウズウィーラー変換を解きます。以下は、対角バロウズ・ウィーラー変換とは何かの一般的な概要です。メッセージをエンコードするには、最初にメッセージの長さが奇数(5、7、9など)であることを保証する必要があります。その後、あなたは、グリッドを作るnことにより、n場所、nメッセージの長さがあります。最初の行は元のメッセージです。その後の各行はその上の行ですが、1文字左にシフトし、最初の文字が後ろに移動します。例えば: Hello World ello WorldH llo WorldHe lo WorldHel o WorldHell WorldHello WorldHello orldHello W rldHello Wo ldHello Wor dHello Worl 次に、NWの各文字をSE対角線上に取り、新しい文字列に入れます。 Hello World H ello WorldH l llo WorldHe o lo WorldHel W o WorldHell r WorldHello d WorldHello e orldHello W l rldHello Wo (space) ldHello Wor …

3
ドルの分割可能性と完全な変化
ポケットに15ドルあります。同様に、私は変化をもたらさない店にいます。ブラウジング中に、価格が10ドル(税込)のアイテムを見つけました。お金を失うことなく、そのアイテムを購入できますか? この場合、答えはイエスです。$ 15がどのように分割されても(1つ10と1つ5、3つ5つ、または他の何か)に関係なく、私は常に正確な10ドルを必要とします。 2番目の例として、ポケットに0.16ドルあります。正確に支払うことができる他の金額は何ですか? Possible Divisions: 0.01, 0.05, 0.10 0.01, 0.05 x 3 0.01 x 16 Guaranteed Exact Change: 0.01, 0.05, 0.06, 0.10, 0.11, 0.15, 0.16 ポケットに$ 0.27ある場合はどうなりますか? Possible Divisions: 0.01 x 2, 0.25 0.01 x 2, 0.05, 0.10 x 2 0.01 x 2, 0.05 x 3, 0.10 0.01 x …
11 code-golf 

1
Davenport-Schinzelシーケンスを生成する
バックグラウンド ダヴェンポート-Schinzel配列は、 2つの正の整数パラメータを有しているdとn。によって、指定されDS(d,n)たパラメータのすべてのDavenport-Schinzelシーケンスのセットを示します。 自然数の全てのシーケンスを考えてみましょう1にn満足している、包括的、: シーケンス内の連続する2つの番号は同一ではありません。 より大きい長さのサブシーケンス(連続している必要はありません)はありませんd。 Lこのようなシーケンスの最大長を指定してみましょう(dとn)。次に、DS(d,n)長さを持つそのようなすべてのシーケンスのセットですL。 いくつかの例が役立つかもしれません。ましょうd = 4、n = 3。これらの制約のある最長のシーケンスには、がありL = 8ます。したがって、以下はのメンバーですDS(4,3): [1, 2, 1, 3, 1, 3, 2, 3] 連続する同一の番号はなく、lengthの交互のサブシーケンスがあります4が、より長いサブシーケンスはありません。 1 2 1 2 1 2 1 2 1 3 1 3 1 3 1 3 2 3 2 3 2 3 2 3 1 3 1 …

4
三角形の特定
写真の三角形の数を数えることは、脳のテストで一般的に使用されるタスクです。三角形で構成される図形を含む画像が表示されます。次に、画像内のすべての可能な三角形を見つける必要があります。 仕事 選択した形式の行のリストが表示されます。次に、その中にある三角形のリストを出力する必要があります 入力 行のリストが与えられ、各行は4つの整数座標(例:)で与えられx1 y1 x2 y2ます。明確に文書化されている限り、入力形式を選択できます。例: 0 4 8 1 0 4 9 5 8 1 9 5 2 8 0 4 9 5 2 8 [[0, 4, 8, 1], [0, 4, 9, 5], [8, 1, 9, 5], [2, 8, 0, 4], [9, 5, 2, 8]] これは画像と同じ入力です: 交差点を使用する別の1つ(スペースを節約するために1つの形式のみ): …

3
矢印キーでテキストをナビゲートする
バックグラウンド ほとんどの(中途半端な)テキストエディタでは、矢印キーを使用してテキストをナビゲートできます。上下に移動すると行を移動できますが、左右に移動すると行をまたがります。さらに、行がカーソルのX位置より短い場合、カーソルは行の最後に表示されますが、上下に移動し続けると同じX位置に戻ります。おそらく、次の視覚的な説明が役立ちます。 モーションの例 テキストの簡単なサンプルは次のようになります。カーソルは、このテキストの2文字の間、または最後に挿入されます。 ----- --- ------ let's put the cursor here: X----- --- ------ move down (v): ----- X--- ------ move left (<): -----X --- ------ v ----- ---X ------ v (notice how the X position of the cursor has been maintained) ----- --- -----X- ^ ----- ---X ------ …
11 code-golf 

11
バイナリ暗号化
これはxkcd#153に基づいています。 2つのパラメーターをとるプログラムまたは名前付き関数を作成します。各パラメーターは、文字列、またはバイトまたは文字のリストまたは配列です。2番目のパラメーターには、lrfu(または同等のASCIIバイト)からの文字のみが含まれます。これは、最初のパラメーターで表されるビットシーケンスで実行される一連の命令として解釈される必要があります。 実行される処理は、次と同等である必要があります。 最初のパラメーターを各文字のビットを連結して形成される単一のビット文字列に変換します(7ビットASCII、8ビット拡張ASCII、または標準Unicodeエンコードのいずれかとして解釈されます)。たとえば、最初のパラメーターが"AB"次にある場合、これは10000011000010(7ビット)、0100000101000010(8ビットまたはUTF-8)、、00000000010000010000000001000010または01000001000000000100001000000000(2つのエンディアンのUTF-16)などのいずれかになります。 2番目のパラメーターの各文字について、順番に、対応する命令を実行します。 lビット列を左に回転します。例えばに10000011000010なり00000110000101ます。 rビット列を右に回転します。例えばに10000011000010なり01000001100001ます。 fビット列の各ビットを反転(または反転)します。例えばに10000011000010なり01111100111101ます。 uビット列を反転します。例えばに10000011000010なり01000011000001ます。 ビット文字列をビットごとに1文字を使用するASCII文字列に変換します。例えばに10000011000010なり"10000011000010"ます。これは、7/8ビットのすべてのセットに文字が割り当てられているわけではないためです。 例(Python): >>> f("b", "rfu") 01110011 それはターン"b"の8ビットASCIIバイナリ表現に01100010、それが正しい(回転00110001)(各ビットを反転させ11001110)、それを(反転します01110011)。 柔軟性 その他の文字は文字の代わりに使用することができるl、r、f、そしてu、彼らは明確に文書化されなければなりません。 スコアボード 次のコードスニペットを作成してくれた@Optimizerに感謝します。使用するには、[コードスニペットを表示]をクリックし、一番下までスクロールして[►コードスニペットを実行]をクリックします。 コードスニペットを表示 var QUESTION_ID = 45087; var answers = [], page = 1;var SCORE_REG = /\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/;function url(index) {return "http://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=votes&site=codegolf&filter=!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";}function getAnswers() {$.ajax({url: url(page++),method: "get",dataType: …

3
2x2固有システムを解く
少し線形代数の背景を持つ人にとって、課題はこれと同じくらい簡単です:与えられた複素2x2行列の固有値と固有ベクトルを決定します。I / Oの詳細などのチャレンジに進んでください。固有システムについて少し復習する必要がある場合は、先に進んでください。 バックグラウンド 特性方程式行列のAは、によって定義されます。 det| A - λI | = 0 ここで、λは複素数(スカラー)パラメーター、Iは単位行列、det | ... | ある行列が。多項式左側の評価さλは、特性多項式、2×2行列の場合には二次です。この特性方程式の解である固有値のA我々のように表すであろう、λ 1及びλ 2。 今固有ベクトルは V IのA満足を A vi = λi vi それぞれについてλ 私は、これは次の2つの未知数(のコンポーネントの2つの方程式系与えV 私は非常に簡単に解決することができます)、。システムは実際には指定不足であり、固有ベクトルの大きさは方程式によって決定されないことに気付くでしょう。通常、固有ベクトルは正規化されます。つまり、√(| x | 2 + | y | 2)= 1です。ここで、xとyはベクトル成分、| x |です。2はxに複素共役を掛けたものです。 注固有値が縮退であってもよいこと、すなわちλ 1 =λ 2。この場合、2つの線形独立な固有ベクトルを使用して、単一の連立方程式を満たすことができる場合とできない場合があります。 チャレンジ 複素数要素を含む2x2行列が与えられた場合、その2つの(おそらく同一の)固有値と、各固有値の正規化された固有ベクトルを決定します。結果の数値は、少なくとも3(10進数)有効数字まで正確でなければなりません。任意の行列要素の実数部と虚数部が[-1,1]の範囲にあると仮定できます。 STDIN、コマンドライン引数、プロンプトまたは関数引数を介して入力を取得して、関数またはプログラムを作成できます。結果をSTDOUT、ダイアログボックス、または関数の戻り値として出力できます。 入力および出力には、便利な(ただし明確な)文字列またはリスト形式を使用できます。個々の数値を表すために、フロートのペアまたは複合タイプから選択することもできます。 固有システム(Mathematica …

5
グレート、ホワイト、ノース!
えっ! カナダ人の問題は、ムースの狩猟とダムの修理で長い一日を過ごした後、キャビンへの帰り道を忘れることがあることです!私たちの便利なラップトップ(常に私たちの側にある)が、私たちを家に向ける何らかの方法を持っていたら、素晴らしいと思いませんか?さて、コンパスをコンピューターに表示すると、北を指すと最も明るくなると長い間言われてきました。私はこれをテストしたいと思いますが、ハードドライブにはすでにメープルシロップのレシピ(およびそれらは使用できません)がいっぱいになっているため、次回の旅行で持ち歩くコンパクトなプログラムが必要です。したがって、あなたの仕事は、実行時に次のコンパスローズの画像を保存または表示するプログラムを設計することです。 文字は異なるフォントである場合があります。覚えておいてください、最小は最高ですので、最小のバイト数が勝ちます! 仕様書 色 薄紫:#9999FF グレー:#E5E5E5 長さと角度 角度a= 45° 角度b= 90° 長さc= 250単位 長さd= 200単位 長さe= 40単位 長さf= 45単位 明確化 テキストは、適切なフォントである場合があり、適切な場合は、教育を受けた平均的な人間が読むことができることを示します。 テキストは、最も近いポイントのスパイクから3単位離れている必要があり、バラに触れてはならず、直立している必要があります。 バラの中心からスパイクの端点を越えて線を引く場合、+ /-2単位の精度でテキストの中心を通過する必要があります(テキストは軸aに沿って中央に配置する必要があり、ここでのaスパイクの端部を介して、など)を越えて、ページの中央から延び 各文字は少なくとも15単位x 15単位であり、x / yまたはy / x比が2:1以下でなければなりません(伸縮なし-可読性) 参照画像の中央に最も近いスパイクとテキストを通る薄暗い円は描画されません。 画像は正方形で、少なくとも400x400ピクセルである必要があります ソース内の圧縮画像は許可されていません 単位は少なくとも1ピクセルである必要があります

4
スーパースクエアレイン
Scream™ウィンターセールが始まり、あなたは自分に強烈なミニマリストアクションゲーム、Super Squareを手に入れました。それをプレイすると、あなたはそのゲームがとてつもなく難しいか、あなたがそれが本当に下手だということに気づきます。特に、毎回あなたを得るように思われるこの「雨」パターンがあります... 欲求不満のあなたは、自分自身に別の挑戦をすることにします。ASCIIアートで雨のパターンを描いてください! 入力 入力は、パターンのサイズを示す単一の正の整数で、nSTDINまたは関数の引数を介して指定されます。 出力 出力は、指定されたサイズの雨パターンで、文字列として返されるか、STDOUTを介して出力されます。画像全体の前後の前後の空白は問題ありません。さらに、画像は画面の左に面一である必要はありませんが、はっきりと識別できる必要があります。 ここにありn = 10ます: ................... | ----------------- | | ............... | | | ------------- | | | | ........... | | | | | --------- | | | | | | ....... | | | | | | | ----- | | | | …

8
銀行でのゴルフ
新しい銀行には窓口取引システムが必要ですが、問題があります。サーバーに残っているスペースは数百バイトしかないため、非常にコンパクトなコードを書く必要があります。 データベース ありがたいことに、私たちのデータベースは非常にシンプルで(銀行の社長の息子が作成しました)、現在のところ少数の顧客しかいません。 ファイルBank.dataは: Account Firstname Lastname Balance Date 123 Maree Jones 346.22 2014-12-13 035 Thomas Breakbone 3422.02 2015-01-03 422 Henrietta Throsby-Borashenko 277847.74 2014-11-21 501 Timmy Bongo 7.95 2014-11-04 105 William Greene 893.00 2015-01-06 300 Mary Galoway 1228.73 2014-12-28 203 Samantha Richardson 2055.44 2014-11-01 151 Bruce Wayne 956119.66 2014-10-09 166 …
11 code-golf 

7
最長逆パリンドロームDNAサブストリング
ご存知かもしれませんが、DNAには4つの塩基があります—アデニン(A)、シトシン(C)、グアニン(G)およびチミン(T)。通常A、TとC結合しG、と結合して、DNA二重らせん構造の「ラング」を形成します。 塩基の補数を、結合する塩基と定義します。つまり、Ais Tの補数、Tis Aの補数、Cis Gの補数、Gis の補数ですC。また、DNA文字列の補数を、各塩基が補われた文字列、たとえばGATATCis の補数として定義することもできますCTATAG。 DNAの二本鎖構造のため、一方の鎖の塩基はもう一方の鎖の塩基と相補的です。しかし、DNAには方向があり、DNA転写は2本の鎖で反対方向に起こります。そのため、分子生物学者はDNAストリングの逆相補性に興味を持っていることがよくあります。文字列の相補性の逆です。 前の例を拡張するために、の逆の補数GATATCはCTATAG後方GATATCです。お気づきかもしれませんが、この例では、逆の補数は元の文字列と同じです。このような文字列を逆回文と呼びます。* DNAの文字列が与えられた場合、逆パリンドロームである最も長い部分文字列を見つけることができますか? *私は、パリンドロームの通常の意味と区別するために、ロザリンドから取られた「逆パリンドローム」という用語を使用します。 入力 入力はACGT、大文字の文字のみで構成される単一の文字列になります。このチャレンジのために、関数または完全なプログラムを作成できます。 出力 印刷または戻ることで出力することを選択できます(後者の選択は、関数の場合にのみ使用可能です)。 一意の解決策がある場合、プログラムは入力文字列の最長の逆パリンドローム部分文字列を出力する必要があります。複数のソリューションが存在する場合、それらのいずれか1つを出力することも、すべてを選択することもできます(選択)。すべてを出力することを選択した場合、複製は問題ありません。 入力には、少なくとも長さ2の解があることが保証されています。 実施例 ATGGATCCG -> GGATCC の逆補体GGATCCはそれ自体(GGATCC --complement--> CCTAGG --reverse--> GGATCC)でGGATCCあり、逆パリンドロームも同様です。GATC逆パリンドームでもありますが、最長のものではありません。 テストケース AT -> AT CGT -> CG AGCA -> GC GATTACA -> AT, TA ATGGATCCG -> GGATCC CCCCCGGGGG -> CCCCCGGGGG ACATATATAGACT -> ATATAT, TATATA …

2
スリ・ヤントラを描く
チャレンジ: Sri Yantraを描きます。 方法: それを描くにはさまざまな方法があります。すべてに多くのステップが含まれています。リンクされた手順に従わずに描画できると思われる場合は、下にスクロールして、描画に必要な要素を探します。 完全な手順は次の場所にあります。 http://www.saralhindi.com/Shri_Yantra/makingsky14steps_eng.htm (それは非常に長い質問になってしまうので、私はそれらをここにコピーされていなかった、ここで最初のリンクが今までダウンした場合にはarchieve.orgミラー) 最終的な写真は次の図のようになります。 持つ必要があります: 基本的に、選択した描画方法はすべて、最も重要な要素を保持していれば有効な答えになります 三角形の数は、上の図と同じ数にする必要があります(43個の小さな三角形は、大きな9個の三角形のインターレースから生じました) この三重交差点は尊重されます。 下図に示すように、上向き三角形の先端は4つの下向き三角形の底辺に接触し、下向き三角形の先端は3つの上向き三角形の底辺に接触します。 内側の円(bindu)は外側の円と同心です。 大きな三角形の先端(頂点)は、外側の円に触れる必要があります。 最終画像にはすべての要素が含まれている必要があり、一般的に次のようになります。 色は、すべての要素(花びらを含む)で上記の画像とほぼ同じである必要があります。 花びらの形状は、おおむね以下の画像のように見える必要がありますが、単なる半円または円の単純な円弧セクションにすることもできます。 円またはゲートのサイズに厳密な比率の制限はありませんが、最も外側の円の直径は外側の正方形の辺の90%以上である必要があり、他の要素はこの比率に対してそれぞれ配置されます。 プログラミング言語と結果 結果が比較的明確で識別可能であれば(少なくとも800px X 800px)、プログラミング言語や結果の形式(ベクター画像、ビットマップ画像、キャンバスなど)に制限はありません。 後者の編集: このブログではそれらを詳しく調査しているため、完璧な描画方法はありません 。 この時点で、円の二乗のように完璧な解決策はない可能性が非常に高いことを学ぶのは興味深い演習です。

1
旅行をクールに!
チャレンジ マークスとスペンサーを歩いていると、店の周りにエアコンユニットがランダムに配置されていることに気付きました。冷静を保ちたいと思った私は、エアコンユニットから離れすぎずに店全体を動き回る最も簡単な方法は何だろうと考えました。 マップが与えられたら、エアコンユニットからの距離をできるだけ短く保ちながら、マップ全体を移動する方法を見つける必要があります(ACユニットが壁の反対側にある場合でも)。 地図 マップは任意の方法で提供でき、次の記号を使用します。 + is a corner of a wall | is a east/west facing wall - is a north/south facing wall X is an air conditioning unit S is the start and end point マップの例は次のとおりです。 +------S---+ | X | | ---+-+ X | | |X| | | …

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