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

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

5
数式における「/」と「÷」の歴史的な違い
前書き: 式6÷2(1+2)6÷2(1+2)6÷2(1+2)に関する長年の議論に触発されました。 式6÷2(1+2)6÷2(1+2)6÷2(1+2)、数学者は正解が111であることがすぐにわかります。一方、学校からの単純な数学の背景を持つ人は、正解が999ことがすぐにわかります。それで、この論争とそれによる異なる答えはどこから来るのでしょうか?6÷2(1+2)6÷2(1+2)6÷2(1+2)記述方法には2つの矛盾するルールがあります。1つは部品によるもの2(で、もう1つは分割記号によるもの÷です。 数学と「普通の人々 」の両方が使用されますが、PEMDAS( -指数精度-部門/乗算-カッコ加算/減算を)ので、数学者のための式は、以下のように評価されて2(3)2(3)2(3)だけ例えばのようなものである2x22x22x^2の単項式別名「並置による暗黙の乗算による単一項」(したがって、Pinの一部PEMDAS)。これは、2×(3)2×(3)2×(3)(二項別名、2項)とは異なる方法で評価されます。 6÷2(1+2)→62(3)→66→16÷2(1+2)→62(3)→66→16÷2(1+2) → \frac{6}{2(3)} → \frac{6}{6} → 1 「普通の人」の場合、2(3)2(3)2(3)と2×(3)2×(3)2×(3)は同じ(したがってMDinの一部PEMDAS)になるため、代わりにこれを使用します。 6÷2(1+2)→6/2×(1+2)→6/2×3→3×3→96÷2(1+2)→6/2×(1+2)→6/2×3→3×3→96÷2(1+2) → 6/2×(1+2) → 6/2×3 → 3×3 → 9 ただし、元の式を6÷2×(1+2)6÷2×(1+2)6÷2×(1+2)として記述したとしても、除算記号を使用しているため、まだ議論の余地があります÷。現代の数学では、/および÷記号の意味はまったく同じです:除算。いくつかのルールは、事前に1918 †分割シンボルに関する÷††それは分割シンボルとは異なる意味を持っていたこと状態/。これは、ある÷意味「するために使用右の数字/発現と左の数/表現を分割」†††。したがってa÷ba÷ba ÷ bは、(a)/(b)(a)/(b)(a) / (b)またはabab\frac{a}{b}今。この場合、1918年以前の人々は6÷2×(1+2)6÷2×(1+2)6÷2×(1+2)を次のように評価します。 6÷2×(1+2)→62×(1+2)→62×3→66→16÷2×(1+2)→62×(1+2)→62×3→66→16÷2×(1+2) → \frac{6}{2×(1+2)} → \frac{6}{2×3} → \frac{6}{6} → 1 †:÷過去の使用方法を説明する複数の情報源を見つけましたが(下記の†††を参照)、これが1918年ごろにどこかで変更されたことを明確に証明することはできませんでした。ターニングポイント÷と /、彼らは過去に異なっても同じことを意味し始めて。 ††:その他の記号も同様に、部門の過去に使用されている:か(これは私が個人的に小学校のxDさんに学んだことがあるため、オランダなどヨーロッパ以外の英語圏の国ではまだ今か)1633年)に1540年代。しかし、この課題では、1918年以前のobelusシンボルの意味にのみ焦点を当てています÷。 †††:出典:この記事全般。そしてに関する事前1918ルール÷で言及されています。このザ・アメリカ数学月間の1917年2月からの記事。1659 ページ9および76 ページからのドイツのこの代数本。この代数の最初の本1895ページ46 [48/189]から。 少しオフトピック:この表現に関する実際の議論に関して:そもそもこのように書かれてはいけません!質問が不明確な場合、正しい答えは無関係です。 *「質問内容が不明なため閉じる」ボタンをクリックします*。 そして記録のために、カシオ計算機の異なるバージョンでさえ、この式を適切に処理する方法を知りません: チャレンジ: 次の2つの入力が与えられます。 …

5
XYZに沿って対称的に立方体の面を押し出す
サンドボックス 現在のタスクの目的のために、ユニット長の立方体は、次のようにASCIIシンボルを使用して斜め投影でレンダリングされます。 +-----+ / /| +-----+ | | | + | |/ +-----+ + 頂点のために。 -Xエッジの場合。Xに沿った単位の長さは-、2つの頂点間の5 で表されます。 |Yエッジの場合。Yに沿った単位の長さは、2 |つの頂点の間の2つで表されます。 /Zエッジ用。Zに沿った単位の長さは/、2つの頂点間の1つで表されます。 頂点は、3つの平面すべてが交差する場所にのみ描画されます。 エッジは、正確に2つの平面が交差する場所にのみ描画されます。 単位面が押し出されると、元の位置から単位長だけオフセットされ、各方向(正と負)に4つの新しいエッジが作成されます。 押し出しは、各軸が断面1x1で長さnが(0,0,0)から離れた直方体として表される3Dデカルト座標系の軸を描くことと考えることができます。 Xに沿って1押し出し: +-----------------+ / /| +-----------------+ | | | + | |/ +-----------------+ 仕事 XYZ軸に3つの数値を指定し、指定された量だけ対称的に単位立方体の面を押し出し、上記のようにASCIIシンボルで結果をレンダリングします。 入力 x、y、z-非負の数-各軸の押し出しの長さ。0は押し出しがないことを意味します。入力には、3つの数字、3つの数字のリスト、トリプル、文字列、または便利なものを使用できます。 出力 押し出し後のキューブのASCII図面。先頭および末尾のwihtespacesは許可されます。 テストケース X Y Z 0 0 0 +-----+ …

21
話し言葉での電話番号
ゴール 数字の電話番号を簡単に言うことができるテキストに変換するプログラムまたは関数を作成します。数字が繰り返される場合、「double n」または「triple n」と読む必要があります。 必要条件 入力 数字のストリング。 すべての文字が0〜9の数字であると仮定します。 文字列に少なくとも1つの文字が含まれていると仮定します。 出力 スペースで区切られた、これらの数字の読み上げ方法の単語。 数字を単語に変換します。 0 "oh" 1 "one" 2 "two" 3 "three" 4 "four" 5 "five" 6 "six" 7 "seven" 8 "eight" 9 "nine" 同じ数字が連続して2回繰り返される場合は、「double number」と書きます。 同じ数字が3回続けて繰り返される場合は、「トリプル番号」と書きます。 同じ数字が4回以上繰り返される場合は、最初の2桁に「double number」を書き込み、残りの文字列を評価します。 各単語の間にちょうど1つのスペース文字があります。単一の先頭または末尾のスペースを使用できます。 出力では大文字と小文字は区別されません。 得点 最小バイトのソースコード。 テストケース input output ------------------- 0123 oh one two three …

15
メルキーを遊ぼう!
メルキー Mölkkyはフィンランドの投げゲームです。プレーヤーは木製ピン(「メルキー」とも呼ばれます)を使用して、1〜12の数字でマークされたスローイングピンとほぼ同じ寸法の木製ピンを倒します。ピンの初期位置は次のとおりです。 (07)(09)(08) (05)(11)(12)(06) (03)(10)(04) (01)(02) この説明と以下のルールはウィキペディアに基づいています。 簡略化されたMölkkyルール 1本のピンをノックすると、ピンにマークされたポイントの数が決まります。 ノッキング2つの以上のピンのピンの数は上ノックスコア(例えば、3つのピンスコア3点にわたってノッキング)。 ゲームの目的は、正確に50ポイントに到達することです。スコアを25ポイントに戻すと、50を超えるスコアがペナルティになります。 この課題のために、ピンは常に上記の正確な順序であると仮定します。(実際のゲームでは、ピンは着地した場所に投げるたびに再び立ち上がります。) 他のすべてのMölkkyルールは無視され、1人のプレーヤーのみが考慮されます。 入力 12個のブール値のリストの空でないリスト。ブール値の各リストは、スローの結果を表します。ピンがノックオーバーされた場合は1、そうでない場合は0です。:ブール値は、左上から右下へのピンの正確な順序で与えられている7、9、8、5、11、12、6、3、10、4、1、2。 出力 すべての後のスコアは、ルールを適用して算出、入力に記載のスロー1、2及び3。 詳細な例 次の入力を考えてみましょう。 // 07 09 08 05 11 12 06 03 10 04 01 02 [ [ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 ], // scores 5 …
33 code-golf  game  binary 

30
最も近い素数を返す
チャレンジ これは単純なものです。1,000,000までの正の整数を指定すると、最も近い素数を返します。 数値自体が素数の場合、その数値を返す必要があります。指定された数に等しく近い2つの素数がある場合、2つのうち小さい方を返します。 入力は単一の整数の形式であり、出力も整数の形式である必要があります。 どうでもいい、入力(関数、STDINなど)をに取り込んでも、出力(関数、STDOUTなど)を表示してもかまい。 これはコードゴルフであるため、標準ルールが適用されます。最小バイトのプログラムが勝ちます。 テストケース Input => Output ------ ------- 80 => 79 100 => 101 5 => 5 9 => 7 532 => 523 1 => 2
33 code-golf  primes 

19
教会ブール
教会のブール値 A 教会ブールは戻って、その関数でx真のためにとy偽のためには、どこxの関数の最初の引数で、y関数の第二引数です。さらに機能が表現これらの関数から構成することができるand not or xorとimpliesの論理演算を。 チャレンジ 教会のブール値および構築and not or xorやimpliesお好みの言語で教会の門を。and orそしてxor、2つの関数(Churchブール値を表す)を取り、関数(別のChurchブール値を表す)を返す必要があります。同様に、notそれがとる関数を反転し、impliesゲートがブール値を実行する必要があります。impliesが2番目の。 得点 教会を作成するために必要なすべてのコードの全長、trueおよびfalseあなたの言語and not or xorとimplies教会の門は、機能の名前を除きます。(たとえば、false=lambda x,y:yPythonでは13バイトになります)。これらの名前は、コードの後半で再利用でき、そのゲートの合計バイト数に1バイトをカウントします。 擬似コードの例: 作成する関数は、コードの後半で呼び出すことができるはずです。 true(x, y) -> x false(x, y) -> y and(true, true)(x, y) -> x and(true, false)(x, y) -> y # ... etc

30
最初、最後、そしてその間のすべて
2つの整数を指定して、2つの整数を出力し、次にそれらの間の範囲(両方を除く)を出力します。 範囲の順序は入力と同じでなければなりません。 例: Input Output 0, 5 -> [0, 5, 1, 2, 3, 4] -3, 8 -> [-3, 8, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7] 4, 4 -> [4, 4] 4, 5 -> [4, 5] 8, 2 -> [8, 2, 7, 6, 5, 4, 3] -2, …
33 code-golf 

24
数値を2の累乗に分割できますか?
昨日、子供と遊んでいる間に、彼のおもちゃの列車の番号に気付きました。 持っている私たちは、だから、428142814281に分割することができます4−2−8−14−2−8−14-2-8-1または22−21−23−2022−21−23−202^2-2^1-2^3-2^0 とても簡単な挑戦:入力として負でない数が与えられると、数の文字列表現(10を基にし、先行ゼロなし)を何らかの方法で2のべき乗に分割できるかどうかを表す一貫した真実と偽の値を返します。 例: 4281 truthy (4-2-8-1) 164 truthy (16-4 or 1-64) 8192 truthy (the number itself is a power of 2) 81024 truthy (8-1024 or 8-1-02-4) 101 truthy (1-01) 0 falsey (0 cannot be represented as 2^x for any x) 1 truthy 3 falsey 234789 falsey 256323 falsey (we …

30
半分、半分半分、そして半分
次の番号シーケンスを検討してください。 0,12、14、34、18、38、58、78、116、316、516、716、916、1116、1316、1516、132、332、532、…0、12、14、34、18、38、58、78、116、316、516、716、916、1116、1316、1516、132、332、532、… 0, \frac{1}{2}, \frac{1}{4}, \frac{3}{4}, \frac{1}{8}, \frac{3}{8}, \frac{5}{8}, \frac{7}{8}, \frac{1}{16}, \frac{3}{16}, \frac{5}{16}, \frac{7}{16}, \frac{9}{16}, \frac{11}{16}, \frac{13}{16}, \frac{15}{16}, \frac{1}{32}, \frac{3}{32}, \frac{5}{32}, \dots 単位区間内のすべてのバイナリ分数を列挙します。[ 0 、1 )[0、1) [0, 1) (この課題を簡単にするために、最初の要素はオプションです:スキップして、シーケンスが1/2で始まると考えることができます。) 仕事 プログラム(完全なプログラムまたは関数)を書く... 次の動作のいずれかを選択します。 入力n、シーケンスの出力n番目の要素(0インデックスまたは1インデックス); 入力n、シーケンスの最初のn個の要素を出力します。 何も入力せず、1つずつ取得できる無限数列を出力します。 ルール あなたのプログラムは少なくとも最初の1000項目をサポートする必要があります。 必要に応じて、小数または小数(組み込み、整数ペア、文字列)を出力することを選択できます。 この質問では、2進数としての入力/出力は許可されていません。 これはcode-golfで、最短のコードが勝ちます。 標準の抜け穴は許可されていません。 テストケース input output 1 1/2 0.5 2 1/4 0.25 …

8
素数から四角リングを生成できますか?
どうやらそう!3つの簡単なステップで。 ステップ1 ましょうF(nは)プライムカウント機能を(素数の数より少ないか等しい示すN)。 整数シーケンス s(n)を次のように定義します。各正の整数nに対して、 tをnに初期化します。 限りtはプライムでも1でもない、置き換えるトンをすることにより、F(T)と反復します。 反復回数はs(n)です。 すべてのnについてf(n)< nであるため、反復プロセスは終了することが保証されています。 たとえば、n = 25を考えます。t = 25 を初期化します。これは素数でも1でもないため、f(25)(9)を計算します。これがtの新しい値になります。これは素数でも1でもないため、f(9)は4です。f(4)は2です。これは素数なので、ここで停止します。3回の反復を行いました(25から9、次に4、次に2)。したがって、s(25)は3です。 シーケンスの最初の40の用語は次のとおりです。シーケンスはOEISにはありません。 0 0 0 1 0 1 0 2 2 2 0 1 0 2 2 2 0 1 0 3 3 3 0 3 3 3 3 3 0 3 0 1 1 …

24
5つのキューブの合計
整数が与えられた場合、合計がその整数である5つの完全なキューブを出力します。キューブは、正、負、またはゼロになる可能性があることに注意してください。例えば、 -10 == -64 - 64 + 64 + 27 + 27 したがって、入力について-10は出力できます[-64, -64, 64, 27, 27]が、他の解決策も可能です。キューブ化する数値ではなく、キューブを出力する必要があることに注意してください。 解決策は常に存在します -あなたは自分でこれを戸惑うことを楽しむかもしれません。さらに、4つのキューブで十分であると推測されます。

21
アルファベットヒストグラム
1つ以上の単語[a-z]+と0個以上のスペースで構成される入力文が与えられた場合、入力文の文字分布のASCIIアートヒストグラム(棒グラフ)を出力します。 ヒストグラムは水平に配置する必要があります。つまり、左から右へアルファベット順にアルファベットキーを使用し、Y軸にラベルを付け1-、5単位ごとに配置します。Y軸は、少なくとも最も高いバーと同じ高さの最小の5の倍数でなければならず、右揃えでなければなりません。X軸には入力文字のラベルが付けられ、間に隙間はありません。例えば、入力は、a bb ddラベル持つべきabdではなくab d、スキップをc。バー自体は、一貫性のあるASCII文字で作成できますX。ここでは、例で使用します。 test example 5- X X X 1-XXXXXXXX aelmpstx の3つe、2つt、および1つがありalmsxます。 その他の例: the quick brown fox jumped over the lazy dogs 5- X X X X XX X X X XX 1-XXXXXXXXXXXXXXXXXXXXXXXXXX abcdefghijklmnopqrstuvwxyz now is the time for all good men to come to the aid of …

30
可能な限り公正であること
前書き この課題では、整数を2つの部分に分割する必要があります。誰も小さなケーキを手に入れるのが好きではないので、あなたの目標は可能な限り公平になることです。たとえば、整数7129を2つに分割する場合、3つの方法があります。 7,129、71,29および712,9すべての可能性が71,29ありますが、2つの違いを最小限に抑えるため、2つの部分に分割する最も公平な方法です。 7 129 -> |7-129| = 122 71 29 -> |71-29| = 42 712 9 -> |712-9| = 703 チャレンジ 整数が与えられた場合、上記のように整数を分割する最善の方法を決定し、結果の差を報告します。 ルール 分割は、長さが少なくとも2の整数に対してのみ意味があり、入力は常に10以上です。 入力は、整数、数字のリスト、または文字列のいずれかです 無効な入力を処理する必要はありません テストケース 結果の違いのみを報告する必要があります。パーティション分割は、説明のためにのみここにあります。 10 -> 1,0 -> 1 11 -> 1,1 -> 0 12 -> 1,2 -> 1 13 -> 1,3 -> 2 101 …

30
いくつの引数が渡されましたか?
選択した言語を使用して、可変数の引数を取り、呼び出された引数の数を返す関数を作成します。 詳細: あなたの言語は可変引数関数をサポートする必要があります:任意の数の引数を取り値を返す呼び出し可能なもの。 パラメータは個別に渡すことができる必要があります。これは、配列を渡すと1つのパラメーターしかカウントされないことを意味します。言語でサポートされている場合は、「すべての引数を渡す」配列を使用できます。関数の呼び出し方法に制限があります。 この関数を呼び出すコードは、ソース内の引数の数を渡す必要はありません。コンパイラーが呼び出し規約の一部として引数の数を挿入する場合、それは許可されます。 引数は任意のタイプにすることができます。サポートできるのは、単一のタイプ(たとえば、サポートのみint有効)、任意のタイプ(任意のタイプの引数が許可されます)、または任意の組み合わせの引数タイプ(たとえば、最初の引数がint、残りが文字列)です。 関数には最大数の引数がある場合があります(特にリソースが有限であるため)が、少なくとも2つの引数をサポートする必要があります。 サンプル: f() 返す 0 f(1)またはf("a")返す1 f([1, 2, 3])13つの引数ではなく配列が渡されたときに戻ります f(1, 10)またはf(1, "a")返す2 これはコードゴルフであるため、最も優れたソリューションは、使用するバイト数が最も少ないソリューションです。

30
Flippign Lettesr Aroudn
チャットでは、私たちは多くの場合タイプが速いため、メッセージを投稿する前に文字の順序を実際に見ません。怠け者なので、単語の最後の2文字を自動的に交換するプログラムが必要ですが、遅すぎる応答を望まないため、コードは短くなければなりません。 あなたはそれを受け入れることを希望する場合はあなたの仕事は、与えられた文字列内の各単語の最後の2つの文字(ワードので、反転するプログラム書くことであるThanskにターンThanks)。言葉はで区切られた英語のアルファベットで二つ以上の文字の配列である単一のスペース。 文字列/リストの文字入力のみアルファベット文字とスペース(ASCII [97から122]、[65から90]および32)を含むことが保証されるよう、あなたは受け取ります。 これらの抜け穴はデフォルトでは禁止されていることに注意しながら、任意のプログラミング言語で、任意の標準的な方法で入力を取得し、出力を提供できます。 出力には、末尾にスペースが1つと、末尾に改行が1つある場合があります。 入力には常に単語(および対応する空白)のみが含まれ、少なくとも1つの単語で構成されます。 これはコードゴルフなので、各言語での最短の提出(バイト単位)が勝ちです! テストケース 文字列は読みやすくするために引用符で囲まれていることに注意してください。 入力->出力 「ありがとう」->「ありがとう」 「あなたのウェルカム」->「どういたしまして」 「これはリンゴです」->「Thsi si na appel」 「Flippign Lettesr Aroudn」->「Flipping Letters Around」 「スワップレットを使用したチャレンジ」->「スワップされたレターを使用したチャレンジ」 または、テストスイートの利便性のために、入力とそれに対応する出力を個別に示します。 ありがとう あなたのウェルカム これはリンゴです Flippign Lettesr Aroudn スワップレットを使用したチャレンジ ありがとう どういたしまして このsi app 手紙をめくる 交換されたレターを使用したチャレンジチャレンジ タイトルをくれたDJMcMayhemに感謝します。これはもともとCMCでした。
33 code-golf  string 

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