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

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

5
高度な計算機
高度な計算機に入力される文字列を評価するプログラムを作成する必要があります。 プログラムは、stdinを使用して入力を受け入れ、正しい答えを出力する必要があります。stdinを受け入れる関数を持たない言語の場合、関数readLineを想定してprintこれらのタスクを処理できます。 要件: いかなる種類の「評価」関数も使用しません 浮動小数点数と負数を処理できます 少なくとも+、-、*、/、および^演算子をサポートします 通常の順序をオーバーライドするための括弧と括弧をサポート 演算子と数字の間に1 つ以上のスペースを含む入力を処理できます 標準の操作順序を使用して入力を評価します テストケース 入力 10 - 3 + 2 出力 9 入力 8 + 6 / 3 - 7 + -5 / 2.5 出力 1 入力 4 + [ ( -3 + 5 ) * 3.5 ] ^ 2 - 12 出力 …
28 code-golf  math 

30
テキストのページを入れ替える
編集ルールの文言を修正して、暗黙的で明示的なものを作成しました。また、明らかな混乱のいくつかのポイントを明確にするためにいくつかの強調を追加し、関数の代わりにスタンドアロンプ​​ログラムを作成するオプションを明示的に定義しました。 ここでの目標は、テキストファイル(または文字列)を取得し、行を列に、またはその逆に転置する関数を作成することです。 例: 私はテキストです。 転置して それできますか? 結果: これは、C ら あん mn sy アポ ou ts ええ XO tm .ei .t ? ルール: あなたは、使用される唯一の空白文字があると仮定することは許可されている" "と"\n"し、任意の行には、末尾の空白が存在しないこと。 ファイルはASCIIであると想定できます。使用するエンドラインマーカーはユーザー次第です(CRLFまたはLF)。これは一例で正しく動作しなければならないが、それはまた、上で動作するはずの任意満たす上記の仮定することを入力。 列の行を維持するために、スペースがない場合(例のように)を挿入する必要がある場合があります。 結果のどの行にも末尾の空白があってはなりません。 最後の改行文字(最後の行)はオプションです。 関数または完全なプログラムでなければなりません。関数が文字列を受け入れる場合、結果を文字列として返す必要があります。ファイル名を受け入れる場合、結果を保存したファイルの名前を返します。さらに、STDINからの入力を受け入れ、正しい結果をSTDOUTに出力する完全なプログラムを作成できます。これを行う場合、STDERRに何も出力しないでください。 最短の手順で勝ちますが、私は好きな答えを投票します。 規則に基づいて、例の出力は、最終改行が含まれるかどうかに応じて、53または52バイト(LF改行の場合)の長さです。 注:特定の要件ではありませんが、連続して2回実行される関数が元の関数と同一ではない場合(最終的な改行が異なる場合があり、ファイルの最後の空行が削除されます)、おそらくルールの1つを破っています。
28 code-golf  string 

30
昇順/降順の数字のアーチを印刷します
この数字のパターンを説明するには、「アーチ」が最善の方法だと思いました。 1234567887654321 1234567 7654321 123456 654321 12345 54321 1234 4321 123 321 12 21 1 1 正式に定義された各行は、1〜の数字9-n、(n-1)*2スペース、および9-n1〜(数字nは現在の行)の数字で構成されます。 あなたの仕事は、可能な限り短いコードを使用して、以下の制限に従って上記のパターンを印刷する小さなスクリプト/プログラムを書くことです。 パターン全体をハードコーディングすることはできません。パターンの1行のみをハードコーディングできます。 プログラムは、各行の最後に改行(\nまたはの任意の組み合わせ\r)を印刷する必要があります。 位置についてよーいどん!

17
Vigenère暗号文を解読する
ヴィジュネル暗号は、鍵によれば、基本的にいくつかのシーザー暗号のいずれかを適用単純polyalphabetic暗号ました。基本的に、キー内の文字は、どのシフトアルファベットを使用するかを示します。そのために、Vigenèreスクエアと呼ばれるシンプルなツールがありました。 ここで、各行は、キーの対応する文字で始まる個別のアルファベットです。列は、暗号化された文字を決定するために使用されます。復号化はほぼ同じ方法で機能しますが、逆も同様です。 文字列を暗号化するとしますCODEGOLF。キーも必要です。この場合、キーはであるものとしますFOOBAR。キーがプレーンテキストより短い場合、繰り返してキーを拡張するため、実際に使用するキーはですFOOBARFO。キーの最初の文字Fを検索します。これはアルファベットを見つけるためのものです。おそらく驚くことではありませんが、で始まりFます。これで、プレーンテキストの最初の文字が含まれる列が見つかり、結果の文字はHです。2番目の文字にはO、キー文字とプレーンテキスト文字があり、結果はになりCます。そのように続けると、ようやく手に入りHCRFGFQTます。 仕事 ここでのタスクは、キーを指定してメッセージを解読することです。ただし、16世紀を超えてコンピューターを所有しているため、少なくとも少し大きいアルファベットをサポートする必要があります。 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 Vigenère広場の構造はまだ非常に同じであり、暗号はまだ同じように機能します。少しだけ...ここで完全に説明するのは扱いにくいです。 入力 入力は、それぞれが改行で終わる2行のテキストとして標準入力に与えられます。最初の行にはキーが含まれ、2番目の行には暗号文が含まれます。 出力 解読されたメッセージを含む単一行。 勝利条件 暗号化は武器と見なされることもあるため、密輸を容易にするためにコードは短くする必要があります。発見の可能性を減らすため、短いほど良い。 サンプル入力1 Key miQ2eEO サンプル出力1 Message サンプル入力2 ThisIsAKey CoqKuGRUw29BiDTQmOpJFpBzlMMLiPb8alGruFbu サンプル出力2 ThisWorksEquallyWellWithNumbers123894576 1週間が経過しました。現在最短の解決策が受け入れられています。興味のある方のために、私たちのコンテストでは、以下の提出物と長さがありました。 130 – Python 146 – Haskell 195 – C 197 – C 267 – VB.NET そして、他とはランク付けされなかった独自のソリューション: 108 – Ruby 139 – PowerShell
28 code-golf  cipher 

30
ロシアンルーレット
ロシアンルーレットをプレイするプログラムを作成してください! プログラムが開始された場合、 「私は生き残った!」を印刷した後、5分の1の確率で正常に終了するはずです。 プログラムがクラッシュする可能性は6分の1になります。(セグメンテーション障害など) 入力も他の出力も許可されていません。 ランダム性は公平である必要があります。均一な確率分布を持っている必要があります。つまり、初期化されていない変数(またはシードのないRNG)MOD 6では不十分です。 ソリューションが1つの専用オペレーティングシステム/プラットフォームのみで機能する場合、スコアに6バイトのペナルティが課せられます。 最初の有効な回答から10日以内に最短のコードが優先されます。
28 code-golf 

30
「^」を使用せずに超指数関数/テトレーションを実装する
チャレンジ 実装テトレーション文字量が最も少ない(別名パワータワーやHyperexponentiationを)。 状況、契約条項 (例えば、「パワー」オペレータまたはその均等物を使用しないpow(x,y)、x^y、x**y等) 次のように入力しますx y(スペースで区切る) xはそれ自体で累乗されますy。 メソッドは少なくとも計算できる必要があります4 3(4はそれ自体で3回累乗されます) スコアリング 最低スコアの勝者:(文字数) 乗算演算子を使用しない場合のボーナス控除(-5ポイント)。 速度/メモリ要件はありません。あなたが望む限り取ります。 例 x, 0 -> 1 2, 2 -> 2^2 = 4 2, 4 -> 2^(2^(2^2)) = 65536 4, 3 -> 4^(4^4) = 4^256 = 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096 提案/変更/質問にオープン
28 code-golf  math 

29
「デジタル時計スタイル」番号のレンダリング
入力として(少なくとも 20の長さの)数字の文字列を取る最短のプログラムを作成し、標準のデジタル時計スタイルの数字を使用して出力を表示します。たとえば、入力81の場合、ascii出力のソリューションは次のようになります。 _ |_| | |_| | グラフィカルな出力も役立ちます。

30
ISBN-13チェックディジットを計算する
ISBN-13コードの最初の12桁が与えられると、適切なチェックディジットを計算して追加することでISBN全体を計算する関数を作成します。 関数の入力は、ISBNの最初の12桁を含む文字列です。その出力は、13桁すべてを含む文字列です。 正式な仕様 完全に正確に12桁の10進数で構成される文字列s(および他の文字を含まない)を指定すると、次のプロパティを持つ文字列tを返す関数を作成します。 tは正確に13桁の10進数で構成されます(他の文字は含まれません)。 sはtのプレフィックスです。 tの奇数位置(つまり、1番目、3番目、5番目など)のすべての数字の合計と、tの偶数位置(つまり、2番目、4番目、6番目など)のすべての数字の合計の3倍10の倍数。 例/テストケース 入力 978030640615 出力 9780306406157 勝利条件 同様に、コード・ゴルフ挑戦、最短回答勝利。

29
逆コロンビア関数
シーケンスを定義しましょう:n桁の加算シーケンス(n-DSS)は、nで始まるシーケンスです。最後の数がkの場合、次の数はk + digit-sum(k)です。最初のいくつかのn-DSSは次のとおりです。 1-DSS: 1, 2, 4, 8, 16, 23, 28, 38, 49, 62, 70... 2-DSS: 2, 4, 8, 16, 23, 28, 38, 49, 62, 70, 77... 3-DSS: 3, 6, 12, 15, 21, 24, 30, 33, 39, 51, 57... 4-DSS: 4, 8, 16, 23, 28, 38, 49, 62, 70, 77, …

24
スーパーマリオ画像を出力する
これはLuogu OJの問題です。Luogu OJでは、私と私の友人を含む多くの人々が、この問題を最小限のキャラクターで解決する方法に興味があるので、ここに投稿することにしました。 あなたの仕事は、次のASCIIアートを出力することです。 ************ ####....#. #..###.....##.... ###.......###### ### ### ........... #...# #...# ##*####### #.#.# #.#.# ####*******###### #.#.# #.#.# ...#***.****.*###.... #...# #...# ....**********##..... ### ### ....**** *****.... #### #### ###### ###### ############################################################## #...#......#.##...#......#.##...#......#.##------------------# ###########################################------------------# #..#....#....##..#....#....##..#....#....##################### ########################################## #----------# #.....#......##.....#......##.....#......# #----------# ########################################## #----------# #.#..#....#..##.#..#....#..##.#..#....#..# #----------# ########################################## ############ これはコードゴルフなので、最短のプログラムが勝ちます。

9
「追加のパイロンを構築する必要があります!」
前書き 戦略ゲームStarcraft 2には、Terran、Zerg、およびProtossから選択できる3つの「レース」があります。この課題では、プロトスと象徴的なフレーズ「追加のパイロンを構築する必要があります!」に焦点を当てます。このメッセージは、軍隊を構築するために供給が足りなくなったときに表示されます。そのため、スタークラフトコミュニティを支援するには、プレーヤーに必要なパイロンの数を正確に伝えるプログラムまたは関数を作成する必要があります。 チャレンジ 単一の整数Nとスペースで区切られたユニットのリストで構成される文字列の入力が与えられます。Nは常にゼロまたは正であり、ユニットのリストには常に1つ以上の有効なユニットがあります。Nプレーヤーが現在持っているパイロンの量を表します。あなたの仕事は、プレイヤーが持っているパイロンの量がユニットを構築するのに十分かどうかを計算することです。十分な供給がある場合は、あなたのプログラムまたは機能しなければならない出力は/ truthy値を返す、または十分な供給がない場合は、出力しなければならないパイロンの量は、単位を構築するために必要とされています。必要な場合は複数で、そうでない場合は複数でなければならないことに注意してください(、)。You must construct ZZZ additional pylonsZZZpylon(s)...1 additional pylon!...2 additional pylons! プロトスユニットと供給コスト 以下は、すべてのユニットとそれに対応する供給コストのリストです。パイロンは追加の8つの供給を提供します。 Unit Supply Cost Probe 1 Zealot 2 Sentry 2 Stalker 2 HighTemplar 2 DarkTemplar 2 Immortal 4 Colossus 6 Archon 4 Observer 1 WarpPrism 2 Phoenix 2 MothershipCore 2 VoidRay 4 Oracle 3 …

20
吸血鬼の互換性
吸血鬼に関するほとんど知られていない事実は、彼らが適合ドナー血液型を持っている犠牲者の血液を飲まなければならないということです。吸血鬼の互換性マトリックスは、通常の赤血球ドナー/レシピエントマトリックスと同じです。これは、次のアメリカ赤十字社の表で要約できます Type You Can Give Blood To You Can Receive Blood From A+ A+, AB+ A+, A-, O+, O- O+ O+, A+, B+,AB+ O+, O- B+ B+, AB+ B+, B-, O+, O- AB+ AB+ everyone A- A+, A-, AB+, AB- A-, O- O- everyone O- B- B+, B-, AB+, AB- …

9
APLでのゴルフのヒント
私は最近、1つのコードゴルフチャレンジを開始しましたが、勝者はGolfScript(サプライズ、サプライズ!)のようです。おもしろいのは、GolfScriptに勝つチャンスがすべてある別の非常に強力なライバルがいたことです。その名前はAPLです。ここにAPLで書かれた多くの答えがあります。この言語はコードゴルフではかなり効率的であると思われるので、APLプログラムについて知っているコードゴルフのヒントを求めることにしました。いくつかのコード例を投稿してください。動作中の言語を見るのは通常非常に興味深いです。
28 code-golf  tips  apl 

10
カオスゲームをプレイする
カオスゲームはフラクタルを生成するための簡単な方法です。開始点、長さ比r、および2D点のセットを指定して、次の操作を繰り返し実行します。 ポイントのセットから、ランダムに(均一に)選択します。 rと1-rを重みとして使用して、そのポイントと最後に描かれたポイント(または開始ポイント)を平均します(つまり、r = 0は開始ポイントを取得し、r = 1はランダムポイントを取得し、r = 0.5はユーザーを意味します中間点を取得します。) 結果のポイントを描画します。 たとえば、正三角形の頂点を選択し、r = 0.5の場合、プロットされたポイントはシェルピンスキーの三角形をマッピングします。 ウィキペディアで見つかった画像 カオスゲームを「再生」してフラクタルを作成するプログラムまたは関数を作成する必要があります。 入力 プログラムまたは関数のいずれかを作成し、ARGV、STDIN、または関数引数を介して次の入力を取得できます。 プロットするポイントの数。 開始座標(プロットする必要もあります!)。 区間[0,1]の平均重みr。 選択するポイントのリスト。 出力 画面にレンダリングするか、画像ファイルを書き込むことができます。結果がラスタライズされる場合、各側に少なくとも600ピクセル、すべてのポイントがキャンバス上にあり、画像の水平および垂直範囲の少なくとも75%がポイントに使用されている必要があります(これは避けるためです「本当にズームアウトしている」と黒のピクセルで答えます)。X及びY軸は、同じ規模である必要があり(すなわち、0,0の(より線)である(1,1)45度の角度でなければならない)とカオスゲームにプロットの各点は、単一のように表現されなければなりませんピクセル(プロットメソッドがポイントをアンチエイリアスする場合、2x2ピクセルに広がる可能性があります)。 色は選択できますが、少なくとも2つの区別できる色が必要です。1つは背景用、もう1つはカオスゲーム中にプロットされるドット用です。入力ポイントをプロットする必要はありますが、する必要はありません。 回答に3つの興味深い出力例を含めてください。 得点 これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。 編集:入力ポイントは実際には単一ピクセルとして表示されないため、入力ポイントをプロットする必要はなくなりました。

30
コミュニケーションが容易になるということは、コーディングが速くなることを意味します。
5年前のこの日に亡くなった父は、 APLに優れていて、APLのすべての基礎(およびその他)を教えてくれました。50年のAPLに備えて、手書きのロゴに関するこの特許レター(デンマーク語を読まない人の便宜のために翻訳された)を見つけました。これは、APLが大規模なユーザーベースを獲得できない主な理由を説明しています。この理由は、もちろんこのコミュニティの素晴らしいゴルフ言語すべてにも当てはまります。 3497/77必須 29 回目の 1977年8月に13 Henri Brudzewsky、エンジニアリングコンサルタント会社、Minddevej 28、Søborg、 コンピュータ、特にAPLコード化されたコンピュータを含むクラス9、 クラス42:特にAPLコード化されたコンピュータの使用中のITサービス代理店会社。 仕事 EASIER COMMUNICATION MEANS FASTER CODING MEANS FEWER CODERS MEANS 改行なしでテキストの無限に繰り返される出力を生成します。EASIERまたはFASTERまたはでテキストを開始できますFEWER。

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