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

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

20
Sumacシーケンスの長さ[終了]
閉じた。この質問には、詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 2年前に閉店。 Sumacシーケンスは、t 1およびt 2の2つの整数で始まります。 次の項、t 3、= t 1 -t 2 より一般的には、t n = t n-2 -t n-1 シーケンスは、t n <0のときに終了します。 あなたの課題:Sumacシーケンスの長さをt 1およびt 2から印刷するプログラムまたは関数を作成します。 t 1およびt 2は、使用言語の範囲内の整数です。 標準の抜け穴が適用されます。 テストケース t1 t2 sumac_len(t1,t2) 120 71 5 101 42 3 500 499 4 387 1 3 ボーナス通りの信用: 3 -128 1 -314 …

4
ヤコビ法による行列方程式の解法(改訂版)
数学的背景 AをN×Nの実数行列、Nの実数のbaベクトル、xaのベクトルNの未知の実数とします。行列方程式はAx = bです。 ヤコビの方法は次のとおりです。A= D + Rを分解します。ここで、Dは対角行列で、Rは残りのエントリです。 初期推測解x0を作成する場合、改善された解はx1 = inverse(D)*(b-Rx)です。ここで、すべての乗算は行列ベクトル乗算で、inverse(D)は逆行列です。 問題の仕様 入力:完全なプログラムは、次のデータを入力として受け入れる必要があります:行列A、ベクトルb、初期推測x0、および 'エラー'数e。 出力:プログラムは、最新のソリューションが実際のソリューションと最大でe異なるように、最小の反復回数を出力する必要があります。これは、絶対的な大きさのベクトルの各成分が最大でe異なることを意味します。反復にはJacobiの方法を使用する必要があります。 データの入力方法は選択できます。コマンドラインでの独自の構文である可能性があります。ファイルから入力を選択することができます。 データの出力方法は任意です。ファイルに書き込み、コマンドラインに表示、ASCIIアートなど、人間が読み取り可能なものであれば何でも記述できます。 詳細 真の解決策は与えられません。真の解決策の計算方法は完全にあなた次第です。たとえば、Cramerのルールによって解決することも、逆関数を直接計算することもできます。重要なのは、反復と比較できる真のソリューションがあることです。 精度が問題です。一部の人々の比較のための「正確な解決策」は異なる場合があります。このゴルフの目的のために、正確な解は小数点以下10桁まで正確でなければなりません。 明確にするために、現在の反復ソリューションの1つのコンポーネントでさえ、真のソリューションの対応するコンポーネントをeだけ超えている場合は、繰り返し続ける必要があります。 Nの上限は、使用しているハードウェアと、プログラムの実行に費やす時間によって異なります。このコードゴルフでは、最大N = 50を想定しています。 前提条件 プログラムが呼び出されたとき、次のことが常に成り立つと考えることができます。 N> 1およびN <51。つまり、スカラー方程式は与えられず、常に行列方程式が与えられます。 すべての入力は実数のフィールド上にあり、決して複雑になることはありません。 行列Aは常にメソッドが真の解に収束するようなものであるため、e以下のエラー(上記で定義)を最小化するための反復回数を常に見つけることができます。 Aはゼロ行列でも恒等行列でもありません。つまり、1つの解があります。 テストケース A = ((9, -2), (1, 3)), b = (3,4), x0 = (1,1), e = 0.04 真の解決策は(0.586、1.138)です。最初の反復では、x1 =(5/9、1)が得られます。これは、真の解と0.04以上、少なくとも1つのコンポーネントが異なります。別の反復を行うと、x2 …

30
Odd'em out:手紙
目的 ランダムサイズのマトリックス内の奇数文字を整理して返すプログラムまたは関数(または同等のもの)を作成します。 詳細 このようなランダムな次元の入力として(文字列として)マトリックスが渡されます。 bbbbbbbbbb bbbbbdbbbb bbbbbbbbbb bbbbbbbbbb bbbbbbbbbb あなたの仕事は、残りと一致しない文字(この場合、d2行目、6桁目)を見つけ、その文字を出力として返すことです。マトリックスは、文字で構成されますA-Z、a-z、改行(\n、行のみの両端に)及び5×5から10×10までの範囲の大きさ(25〜100文字)を有します。 標準の抜け穴が適用されます。これはコードゴルフチャレンジです。最小バイトのコードを持つエントリが優先されます。 入力 入力は、プログラムの場合は文字列として、または関数(または同様の)の場合は引数として標準入力を介して渡されます。 出力 行列の「奇数」である単一の文字か None、nil、NUL、または文字列"None"なし「奇数」の文字が存在しない場合。 その他の例 AAAAAAA AAAAAAA AAAAAAA AAAIAAA AAAAAAA 回答: I vvqvvvvvvv vvvvvvvvvv vvvvvvvvvv vvvvvvvvvv vvvvvvvvvv 回答: q ぷうuuuuuuuu ううううううううう ううううううううう ううううううううう ううううううううう ううううううううう ううううううううう ううううううううう ううううううううう ううううううううう 回答: p 発生器 Pythonで作成されたランダムマトリックスジェネレーターは、プログラムのテストに使用できます。注:ミスをして、奇妙な文字を入力しない可能性がわずかにあります。 コードスニペットを表示 Instructions 1. Copy this …

2
Minecraft Inventory Management
Minecraftの在庫管理は困難です。17個のダイヤモンドがありますが、エンチャントテーブル、つるはし、剣を作るには7個必要です。それらを拾って右クリックを7回しますか?または、右クリックして2回、右クリックして7を左に移動しますか?とても混乱しています! 今混乱しているあなたのために、心配しないで、私はそれをすべてすぐに説明します チャレンジ アイテムのスタックのサイズと必要な量を考慮して、その量を得るための最小クリック数を決定します。両方の入力に対して最大64を処理するだけでよく、無限のインベントリスロットがあると仮定できます。ドラッグして配布するトリックは使用できません。 定義 在庫はあなたがアイテムを格納することができ、スロットのコレクションです。 スロットは、あなたがアイテムの1種類にまで置くことができ、あなたのインベントリ内の記憶領域です。 スタックは、同じグループ内に配置された項目の数です。この課題の目的のために、スタックは単に同じ場所にあるアイテムの集まりです(したがって、stack-sizeは無視してください) カーソルがあなたの先のとがったブツです。そのカーソル。「その上に」アイテムを持つことができます。言い換えれば、スロットをクリックしてアイテムをピックアップした場合、ピックアップしたアイテムは、置くまで「カーソル上」にあります。 仕様書 4つの状況が考えられます。カーソルにアイテムがあるか、カーソルがないか、左クリックまたは右クリックのいずれかです。 カーソル上にアイテムがなく、スロットを左クリックすると、スタック全体が取得されます。 カーソルにアイテムがなく、スロットを右クリックすると、スタックの半分が切り上げられます。 カーソルの上にアイテムがあり、スロットを左クリックすると、すべてのアイテムがそのスロットに配置されます。(すべてのMinecraftプレイヤーは、このチャレンジで64を超えるアイテムを持たず、すべて64スタック可能です。1つのタイプしかないため、アイテムスワップはここでは適用されません) カーソルの上にアイテムがあり、スロットを右クリックすると、そのスロットに1つのアイテムが配置されます。 そのため、スロットで指定されたすべてのアイテム(最初の入力、または2番目。順序を選択できます)で開始し、目的の量(他の入力)をカーソルに入れて終了します。 例を見てみましょう。17個のアイテムから始めて、7個のアイテムが必要だとします。最初に、スタックを右クリックします。つまり、9個をピックアップし、そのスロットに8個あります。次に、もう一度スタックを右クリックすると、1つのアイテムがスロットに戻され、8と9のスロットが残ります。最後に、もう一度右クリックすると7とスロットが10になります。戻ります3(クリック数)。 あなたがアウトクリックゴルフをすることができたら、私に教えてください、私は例を編集します:P テストケース これらは手動で生成されるため、エラーがあるかどうかを教えてください。ジッタークリックで右クリックして在庫管理を行うため、最適な在庫管理の経験がありません:P Given, Desired -> Output 17, 7 -> 3 64, 8 -> 5 63, 8 -> 5 10, 10 -> 1 10, 0 -> 0 # note this case 25, 17 …
11 code-golf  game 

14
番号を展開する
番号を展開する あなたの仕事は、次の方法で0より大きい整数を展開することです。 数値を10進数に分割し、各桁に対して次の規則に従ってリストを生成します。 数字が奇数の場合、リストは数字で始まり、1になります。 数字が偶数の場合、リストは数字で始まり、9まで上がります。 数字が0の場合、リストは空です。 数字の下の奇数のリストと、偶数のリストを書き留めます。次に、列を上揃えにし、各行の数字を収集して整数を作成します。最後の手順として、数字を合計して、数字の拡張を見つけます。 34607に適用される上記のルールの例を次に示します。 9 8 79 68 57 346 7 -> 399 7 -> 3997 -> 9418 2 6 288 6 2886 1 5 177 5 1775 4 66 4 664 3 5 3 53 2 4 2 42 1 1 1 テストケースは次のとおりです。 1: 1 …
11 code-golf  number 

18
一意性からリバースエンジニアリング(強盗のスレッド)
警官のプログラム(o)、バイトカウント(n)およびc使用された一意のバイト数()の出力が与えられると、警官の出力に一致する一意のバイトをn持つバイト長の対応するコードをc見つけますo。 これは強盗スレッドです。ここでクラックしたソリューションを投稿してください。 COPSスレッドはここにあります。 強盗は次のような解決策を投稿する必要があります。 #[Language], `n` Bytes, `c` Unique Bytes (Cracked)[Original Link to Cop Thread] [Solution] (Explanation) ルール プログラムに入力を行うことはできません。 プログラムは少なくとも1バイトを使用する必要がありますが、255バイトを超えることはできません。 出力自体も255バイトに制限されています。 プログラムを複数回実行する場合、出力結果に一貫性が必要です。 提出物が7日以内にクラックされない場合、「安全」とマークすることができます。 安全とマークする場合は、目的のソリューションを投稿し、としてスコア付けしてくださいc*n。 勝ち c*nスコアが最低の割れていない投稿が、警官のスレッドに勝ちます。 最もひびが入った人は誰でも強盗スレッドに勝ち、最も早いひびはタイを壊します。 これは、10の安全な答え、または数週間後に決定されます。 注意事項 あなたが生意気に感じたら、ネタばれタグを使用してユーザーにアルゴリズムを伝えることができます。 注:また、クラックに賛成票を投じることを忘れないでください。それらは通常、印象的な部分です。

6
LaTeXの真理値表
論理関数からの出力のリストを受け入れ、その真理値表のLaTeXコードを出力するプログラムまたは関数を作成します。 入力には小文字のラベルを付けa-z、出力にはのラベルを付けますF。入力リストの長さは常により短くなり2^25ます。つまり、入力数は常に25未満になるため、入力名には小文字のアルファベットを使用できます。 入力 論理関数の出力を表す、n入力の数と2^n2進数の長さのリスト。 出力 その関数の真理値表を生成するLaTeXコード。入力値と出力値は行の中央に配置する必要があります。テーブルヘッダーとその値の間、および入力と出力の間には行が必要であるため、コードは次のようになります。 \begin{tabular}{c * <NUMBER OF INPUTS>|c} <INPUTS>&F\\ \hline <INPUT VECTOR i>&<OUTPUT>\\ \end{tabular} 例 入力: 2 [0, 0, 0, 1] 出力: \begin{tabular}{cc|c} a & b & F \\ \hline 0 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 0 & 0 …
11 code-golf  math 

6
クインを反転させる!
私たちは皆、クインが何であるかを知っています。反転 QUINEは、そのソースコードを読み取ることなく、そのソースコードの逆数を出力し、空でないプログラムであり、印刷可能なASCII文字(貫通空間を単独で構成します~)。 ここでは、「ソースコードの逆」とは、以下のことを意味します。あなたのプログラムの出力は、各印刷可能なASCII文字含まれている必要があります(M - C)回、cは回数が文字コード内で発生した、と言っているmが最大ですコード内で文字が繰り返される回数。 (言い換えれば、コード + 出力 = m回の印刷可能ASCIIの順列です。) たとえば、プログラムがの12345場合、m = 1であり、この文字列の順列を出力する必要があります。 !"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ プログラムがのAAB場合、m = 2であり、次の順列を出力する必要があります。 !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ 2つの欠損Asと1 つの欠損があることに注意してくださいB。 すべての印刷可能なASCII文字を含み、何も出力しないプログラムは有効な逆クイン(m = 1を満たす)ではありませんが、そのような答えはその長さを考えるとそれほど競争的ではありません。 上記のパラグラフで説明されているように、逆クインであるプログラムを作成します。これはcode-golfなので、バイト単位の最短プログラムが勝ちます。幸運を!

8
包含-除外の視覚化
包含-除外を使用すると、他の値のいくつかを知っているセット間のいくつかの結合および交差のサイズを計算できます。私はそれを正確に説明しませんが、あなたの課題は、ベン図で包含/除外を視覚化することです。 私はいいから、円ではなく長方形を使うことになります。 任意の妥当な形式(4タプルのリスト、ペアのペアのリスト、ペアのリストなど)で、左上隅と右下隅の座標で示される長方形のリストが表示されます。すべての座標が負ではなく、言語の(合理的な)数値範囲内であると想定できます(128未満の場合はそれを指定してください)。左を含むか左を排他的にするか、右を含むか右を含むかを選択できます。選択した形式に関係なく、すべての長方形が少なくとも1x1であると想定できます。 次に、k選択する空白文字以外の単一の文字を使用して、画面上の各長方形(ASCIIキャンバス)を描画します。 ただし、2つの長方形が重複する場合は常に、重複する領域が別の非空白文字l != kで描画され、選択する必要があります。 3つの長方形が重なるときはいつでも、重なり合う領域はで描画されk、奇数の長方形をカバーする場合、、kおよび偶数の場合、が必要lです。 背景は単一の空白(0x20)でなければなりません。 テストケース(k = "#", l = ".") 0 0 9 9 1 1 10 10 2 2 11 11 ######### #........# #.#######.# #.#######.# #.#######.# #.#######.# #.#######.# #.#######.# #.#######.# #........# ######### 1 1 3 3 2 2 4 4 ## #.# ## 1 …

2
ビット大陸を作る
ビットのマトリックス(少なくとも1つを含む1)があると想像してください。 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 …

15
文字列を逆っぽくします!
あなたのタスク:ASCII文字のみを含む文字列が与えられたときに、逆方向に文字列を出力/返すプログラム/関数を作成します。 例: 1)入力 Hello, World! 2)入力で一意の文字に番号を付けます。(|読みやすいようにパイプ()で区切られた入力文字列) H|e|l|l|o|,| |W|o|r|l|d|! 1 2 3 4 5 6 7 8 9 10 3)重複する文字の場合、その文字の最初の出現箇所を見つけ、最初の文字と同じ番号で重複文字に番号を付けます。 H|e|l|l|o|,| |W|o|r|l|d|! 1 2 3 3 4 5 6 7 4 8 3 9 10 4)文字列を逆にしますが、数字は逆にしません。 !|d|l|r|o|W| |,|o|l|l|e|H 1 2 3 3 4 5 6 7 4 8 3 9 10 …
11 code-golf  string 

7
シンプルなDTMFデコード:電話キーを見つけてください!
これは単純な挑戦であり、うまくいけば創造的な答えが得られるかもしれません。 Wikipediaの引用:「デュアルトーン多重周波数信号(DTMF)は、電話機器と他の通信デバイスおよび交換センターとの間の電話回線で音声周波数帯域を使用する帯域内通信信号システムです。」 仕事 次の表の列と行の頻度を表す2つの整数が与えられた場合、タスクは対応するキーを出力することです。 | 1209 Hz | 1336 Hz | 1477 Hz -------+---------+---------+--------- 697 Hz | 1 | 2 | 3 770 Hz | 4 | 5 | 6 852 Hz | 7 | 8 | 9 941 Hz | * | 0 | # 例 入力がの[ 1209, 852 …

18
空白を埋めてください!
(いいえ、これもこれらのいずれでもありません) 文字列と文字列のリストを指定して、入力文字列のすべての空白を対応する文字列で埋めます。 入出力 入力文字列には、アルファベット文字、スペース、およびアンダースコアのみが含まれます。空ではなく、アンダースコアで始まりません。つまり、入力文字列は正規表現と一致します^[a-z A-Z]([a-z A-Z_]*[a-z A-Z])?$ 入力リストのすべての文字列は空ではなく、英数字とスペースのみが含まれています。つまり、正規表現に一致し^[a-z A-Z]+$ます。 ブランクとは、アンダースコアが前後に連続しない連続したアンダースコア(_)シーケンスです。 入力文字列にはn正の整数の空白がn含まれ、文字列のリストには文字列が正確に含まれnます。 出力はk、入力文字列の各-th空白をk文字列の入力リストの-th文字列で置き換えることにより取得されます。 例 入力文字列"I like _____ because _______ _____ing"と文字列のリストを指定すると、["ice cream", "it is", "satisfy"]次のように出力を見つけることができます。 最初の空白はの直後にあり"like "ます。を"ice cream"取得するにはを入力します"I like ice cream because ______ _____ing"。 2番目の空白はの直後にあり"because "ます。を"it is"取得するにはを入力します"I like ice cream because it is _____ing"。 3番目の空白はの直後にあり"is "ます。を"satisfy"取得するにはを入力します"I like ice cream because it is …

14
ASCII飛行機バナー
二つの入力を考える-そのうちの一つ(改行を除く、スペースを含む)が非空で印刷可能なASCII文字列、あなたの選択(2つの異なる、一貫した値の他のビーイングの1 1 / 0、l / r、left / right、など) - ASCIIアート飛行機出力左または右を指す文字列のバナー。一貫性を保つためleft、rightこのチャレンジの説明全体で使用します。 平面は|-DI>-/(left)または\-<ID-|(right)のいずれかです。バナーはクリアなので、左から右(left)または右から左(right)のいずれかのスペースで区切られた入力文字列の文字で構成され、形状のボックスで囲まれています /--/ ---< < \--\ または \--\ > >--- /--/ 注メッセージの先頭/末尾との間に1つのスペースがなければならない>、<文字。 たとえば、メッセージHAPPY BIRTHDAY!と方向はleft次のとおりです。 /-------------------------------/ |-DI>-/---< H A P P Y B I R T H D A Y ! < \-------------------------------\ これがメッセージPPCGと方向rightです。バナーのこちら側から見ると、文字は「後方」に表示されることに注意してください。 \---------\ > G C P P >---\-<ID-| /---------/ …

1
スタッキンボード
できるだけ小さなスペースにスタックする必要があるボードがたくさんあります。残念ながら、10枚以上積み重ねるとボードは倒れます。ボードを積み重ねる方法を教えてくれるプログラムが必要です。10枚以上のボードを積み重ねたり、ボードを空のスペースにぶら下げたりせずに、できるだけ水平方向のスペースを少なくしてください。 あなたのタスク: ボードの長さを含む配列が与えられたときに、ボードを積み重ねる方法をASCIIアートとして出力するプログラムまたは関数を作成します。空のスペースにぶら下がっているボード。ASCIIアートには、ボードの構成が表示され、それぞれ異なる文字を使用して表示されます。最大20のボードがあります。たとえば、入力が[2,2,4,2,2,4,4,4]の場合、可能な出力は次のとおりです。 dhh dgg dff dee abc abc abc abc これは安定した構成です(ただし、これは実際には0.1秒以内に落ちます)。 入力: ボードの長さを示す、最大20個の整数を含む配列。 出力: 上記のように、ボードの構成を示すASCIIアート。 テストケース: テストケースには他のソリューションがあり、各ボードに表示される文字が異なる場合があることに注意してください。 [12,2,2,2,3,4,4,8,8] -> ffgghhiii ddddeeeeeeee bbbbbbbbcccc aaaaaaaaaaaa [4,4,4,4,4,4,4,4,4,4,4,4] -> llll aaaa cfghk cfghk cfghk cfghk debij debij debij debij [4,4,4,4,4,4,3,3,3,2,2,2,1] -> jjml iiil hhhk gggk ffff eeee dddd cccc bbbb aaaa 得点: これはcode-golfで、バイト単位の最低スコアが勝ちです

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