タグ付けされた質問 「number」

この課題は、数値を使用、操作、入力として受け入れる、または数値を出力することによって解決することを目的としています。

26
奇妙な偶数、正の負
Nが与えられた場合、この無限シーケンスのN番目の項を出力します。 -1 2 -2 1 -3 4 -4 3 -5 6 -6 5 -7 8 -8 7 -9 10 -10 9 -11 12 -12 11 ... etc. Nは、必要に応じて0インデックスまたは1インデックスの場合があります。 入力後、0がインデックスたとえば、0、1、2、3、4それぞれの出力を生成しなければなりません-1、2、-2、1、-3。 次いで、1インデックスを入力した場合1、2、3、4、5それぞれの出力を生成する必要があり-1、2、-2、1、-3。 明確にするために、このシーケンスは、正の整数のシーケンスを2回繰り返して生成されます。 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 …

20
カーマイケル関数を計算する
タスクの説明 数論では、カーマイケル関数 λは正の整数かかり N戻る以上の正の整数kのようにk個の各整数の乗互いに素に、nは 1に等しいモジュロNを。 正の整数nが与えられた場合、解はλ(n)を計算する必要があります。バイト単位の最短コードが優先されます。 プログラムは理論的には任意の大きな入力に対して機能するはずですが、効率的である必要はありません。 ヒント すべてのλ(n)のシーケンスはOEIS A002322です。 未実装のPython実装は次のようになります from fractions import gcd def carmichael(n): coprimes = [x for x in range(1, n) if gcd(x, n) == 1] k = 1 while not all(pow(x, k, n) == 1 for x in coprimes): k += 1 return k (Pythonでは、pow(A, …

30
コインフェアを作る
0またはを生成するコインがあります1。しかし、コインは偏っている可能性があると思われます。つまり、0(または1)の確率は必ずしも1/2ではありません。 フォン・ノイマンによって提案された、偏ったコインを公正なコインに「変換」する(すなわち、同等の結果を得る)ためのよく知られた手順は次のとおりです。ブロックの2つの値が異なるまで、2つのコイントスの(重複しない)ブロックを生成します。そのブロックの最初の値を出力します(2番目の値でも同様ですが、この課題のために最初のものを選択します)。直感的には、よりも高い可能性がありますが、同様に可能性があります。100110 たとえば、入力1110...は最初のブロックを破棄1し、2番目のブロックからa を生成します... 単一の結果を生成するために複数のコイントスが消費されるため、この手順は高価です。 チャレンジ 元のコインのトスを表すゼロと1の有限シーケンスを取り、すべての入力が消費されるまで、上記の手順に従って最大数の結果を生成します。 入力値の数が奇数の場合、最後のブロックは不完全な場合があります。たとえば、入力シーケンス11111は結果を生成しません(最初の2つのブロックの値は等しく、3番目のブロックは不完全です)。 ルール 入力は、負または負の数の値を持つことができ、必ずしも正または偶数である必要はありません。 入力形式は次のとおりです。 ゼロと1の配列。 オプションの区切り文字を含むゼロと1の文字列。 出力形式は次のとおりです。 セパレーターの有無にかかわらず、ゼロと1のストリング。 ゼロと1の配列。 改行で区切られた単一のゼロまたは1を含む文字列。 あなたの言語に合った同様の合理的なフォーマット。 コードゴルフ。最少バイトが勝ちます。 テストケース ここでは、入力と出力は文字列であると想定されています。 Input --> Output '1110' --> '1' '11000110' --> '01' '1100011' --> '0' '00' --> '' '1' --> '' '' --> '' '1101001' --> '0' '1011101010' --> '1111'

7
円形グラフィックスとしての数字
まず、このパズルを学習して、作成するものの感触をつかみます。 あなたの挑戦は、1から100(両端を含む)の間の(10を底とする)数を与えられたパズルからのもののような円形グラフィックを出力するプログラムまたは関数を書くことです。これはこの課題に似ていますが、ローマ数字ではなくグラフィックを作成する点が異なります。次の円は、左から右に番号1〜10を表します。 パズルの答えとして、グラフィックは裏返しのローマ数字のように読む必要があります。線の太さはローマ数字記号を表し、グラフィック全体が数字を表します。参考までに、必要な線の太さは次のとおりです。各行には、その行と次の行の間に3ピクセルのパディングが必要です。 Number Roman Numeral Line Width 1 I 1px 5 V 3px 10 X 5px 50 L 7px 100 C 9px サンプルを1つか2つ投稿してください。入力が正しい、標準の抜け穴などであると仮定します。これはコードゴルフであるため、最も少ないバイトが勝ちます。同点の場合、ほとんどの票が勝ちます。がんばろう!

5
文字、数字、記号、スペース、繰り返し
定期的に遭遇するASCII文字は97個あります。それらは4つのカテゴリに分類されます。 レター(合計52) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 数字または数字(合計10) 0123456789 記号と句読点(合計32) !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 空白(合計3) スペース 、タブ\t、および改行\n。(改行バリアント\r\nは1文字として扱います。) 簡潔にするために、これらのカテゴリをそれぞれL、N、S、Wと呼びます。 LNSW希望する文字の24の順列のいずれかを選択し、無制限に繰り返して自分用のプログラミングテンプレートを作成します。 たとえば、順列を選択するとNLWS、プログラミングテンプレートは次のようになります。 NLWSNLWSNLWSNLWSNLWS... このテンプレートに基づいてプログラムまたは関数を作成する必要があります。 すべてLが任意の文字(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz)に置き換えられます。 すべてNが任意の数字(0123456789)に置き換えられます。 すべてSが任意の記号(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)に置き換えられます。 すべてWが空白文字( \t\n)に置き換えられます。 基本的に、コードはパターンに従う必要があります <letter><number><symbol><whitespace><letter><number><symbol><whitespace>... 質問のタイトルが示すように、必要に応じて、4つの文字カテゴリの異なる順序を選択できます。 ご了承ください: カテゴリの置換には異なる文字を使用できます。例えば、9a ^8B\t~7c\n]正当テンプレートに準拠NLWSNLWSNLWS(\tおよび\nそのリテラル文字になります)。 コード長の制限はありません。例えば1A +2B -and 1A +2Bおよび1A and 1allはテンプレートに適合しNLWSNLWSNLWS...ます。 テンプレートに準拠したコードは、拡張されていないASCII文字を1つ受け取り、上記の分類のメンバーであるカテゴリに基づいて0〜4の数値を出力する必要があります。つまり1、入力が文字の2場合、数字の3場合、記号の4場合、空白の場合に出力されます。出力0の入力は、これらのどれも(ない場合は制御文字)。 入力の場合、代わりに、入力ASCII文字のコードを表す0から127までの数字を入力できます。 コードに必要な入力(charコードとして)と出力のペアは、次のとおりです。 in out 0 0 1 0 2 0 3 0 4 0 5 0 …

30
ソースコードを逆にすると、入力が無効になります。
露骨なぼったくりのぼったくり。それらに賛成票を投じてください! 受け入れたい場合、あなたのタスクは、整数の入力/引数を出力/返すプログラム/関数を書くことです。トリッキーな部分は、ソースコードを逆にする場合、出力は否定された元の整数でなければならないということです。 例 あなたのソースコードがでABC、その入力がであるとしましょう4。CBA代わりに記述して実行すると、出力はでなければなりません-4。 あなたのソースコードがでABC、その入力がであるとしましょう-2。CBA代わりに記述して実行すると、出力はでなければなりません2。 の入力は0、0またはを提供する-0場合がありますが、符号付きゼロをサポートする場合は、-0を提供する必要があります0。

21
NxNxNルービックキューブの順列の量
前書き: 3x3x3ルービックキューブが有する43,252,003,274,489,856,00043,252,003,274,489,856,00043,252,003,274,489,856,000は約43である、可能な順列を京。この数値については聞いたことがあるかもしれませんが、実際にはどのように計算されますか? 3x3x3ルービックキューブには6つの側面があり、それぞれに9つのステッカーがあります。ただし、ステッカーではなく(外部)ピースを見ると、6つの中央ピースがあります。8つの角の部分。12個のエッジピース。センターは移動できないため、計算ではそれらを無視できます。コーナーとエッジに関して: 8!8!8!あります!(40,32040,32040,320)の方法は、8つのコーナーを配置します。各コーナーには3つの方向がありますが、独立して方向付けできるのは7つ(8つのうち)だけです。第八/最終コーナーの向きは、所与の、先行7に依存37373^7(2,1872,1872,187)の可能性。 12個あります!12!212!2\frac{12!}{2}(239,500,800239,500,800239,500,80012面の縁部を配置する)方法。12!12!12!から半分に!これは、角が正確に一致するときに、エッジが常に偶数の順列にある必要があるためです。イレブンエッジが所定の第12 /最終的なエッジのフリップフロッ先行11に依存して、独立して反転することができる2112112^{11}(2,0482,0482,048)の可能性。 これをまとめると、次の式があります。 8!×37×12!2×211=43,252,003,274,489,856,0008!×37×12!2×211=43,252,003,274,489,856,0008!×3^7×\frac{12!}{2}×2^{11} = 43,252,003,274,489,856,000 出典:Wikipedia-ルービックキューブ順列 これはすでにかなり複雑に見えるかもしれませんが、3x3x3キューブの場合はまだかなり単純です。偶数キューブの場合、式はわずかに異なります。これは、たとえば4x4x4キューブの式です。 8!×37×24!2247=7,401,196,841,564,901,869,874,093,974,498,574,336,000,000,0008!×37×24!2247=7,401,196,841,564,901,869,874,093,974,498,574,336,000,000,000\frac{8!×3^7×24!^2}{24^7} = 7,401,196,841,564,901,869,874,093,974,498,574,336,000,000,000 これは、短いスケールで約7.40 quattuordecillionです。 また、より大きなNxNxNキューブ(つまり、現在の世界記録33x33x33)の場合、式はかなり拡張されます。ただし、この紹介を長くしすぎないように、代わりにこれらのリンクをここに配置します。ここでは、4x4x4キューブと他のサイズのNxNxNキューブの順列を結果の式で説明します。 2x2x2 4x4x4 5x5x5 6x6x6 7x7x7 33x33x33 あなたは今疑問に思っているかもしれません:に基づいた一般的な公式はありますか NNNの任意のためのNNN xはNNN xはNNNキューブ?確かにあります。NNN基づいてまったく同じ結果を与える3つの完全に異なるアルゴリズムを次に示します。 1:クリスハードウィックのフォーミュラ: (24×210×12!)N(mod2)×(7!×36)×(24!)⌊14×(N2−2×N)⌋(4!)6×⌊14×(N−2)2⌋(24×210×12!)N(mod2)×(7!×36)×(24!)⌊14×(N2−2×N)⌋(4!)6×⌊14×(N−2)2⌋\frac{(24×2^{10}×12!)^{N\pmod2}×(7!×3^6)×(24!)^{\lfloor{\frac{1}{4}×(N^2-2×N)}\rfloor}}{(4!)^{6×\lfloor{\frac{1}{4}×(N-2)^2}\rfloor}} WolframAlphaで試してみてください。 2:クリストファー・モウラの三角式: 8!×37×(24!(4!)6)14×((N−1)×(N−3)+cos2(N×π2))×(24!)12×(N−2−sin2(N×π2))×(12!×210)sin2(N×π2)×124cos2(N×π2)8!×37×(24!(4!)6)14×((N−1)×(N−3)+cos2⁡(N×π2))×(24!)12×(N−2−sin2⁡(N×π2))×(12!×210)sin2⁡(N×π2)×124cos2⁡(N×π2)8!×3^7×\left(\frac{24!}{(4!)^6}\right)^{\frac{1}{4}×((N-1)×(N-3)+\cos^2(\frac{N×\pi}{2}))}×(24!)^{\frac{1}{2}×(N-2-\sin^2(\frac{N×\pi}{2}))}×(12!×2^{10})^{\sin^2(\frac{N×\pi}{2})}×\frac{1}{24^{\cos^2(\frac{N×\pi}{2})}} WolframAlphaで試してみてください。 3:クリストファー・モウラの素数式: 212×(2×N×(N+7)−17−11×(−1)N)×3N×(N+1)+2×512×(2×N×(N−2)+1+(−1)N)×718×(6×N×(N−2)+3+5×(−1)N)×1114×(2×N×(N−2)−1+(−1)N)×9657718×(2×N×(N−2)−3+3×(−1)N)212×(2×N×(N+7)−17−11×(−1)N)×3N×(N+1)+2×512×(2×N×(N−2)+1+(−1)N)×718×(6×N×(N−2)+3+5×(−1)N)×1114×(2×N×(N−2)−1+(−1)N)×9657718×(2×N×(N−2)−3+3×(−1)N)2^{\frac{1}{2}×(2×N×(N+7)-17-11×(-1)^N)}×3^{N×(N+1)+2}×5^{\frac{1}{2}×(2×N×(N-2)+1+(-1)^N)}×7^{\frac{1}{8}×(6×N×(N-2)+3+5×(-1)^N)}×11^{\frac{1}{4}×(2×N×(N-2)-1+(-1)^N)}×96577^{\frac{1}{8}×(2×N×(N-2)-3+3×(-1)^N)} ここで、965779657796577は(13×17×19×23)(13×17×19×23)(13×17×19×23)です。 WolframAlphaで試してみてください。 出典:Cubers-reddit-位置の数、神の数などの数学的計算式 チャレンジ: 入力整数与えられており、これら三つの式(または独自の誘導体)のいずれかを選択し、実装NNNレンジでの[2,100][2,100][2,100]、正しい結果を出力します。 チャレンジルール: これら3つ以外の別の式を自由に使用できますが、これら3つが正しいことが証明されていることに注意してください。別の式を使用する場合は、元の式のリンクを追加してください(または、自分で計算する場合は、詳細な説明を追加してください)。そして、出力が正しい場合、範囲内のすべての整数をチェックします。おそらくインスピレーションは、このシーケンスA075152のoeisにあります。 あなたの言語が科学的な出力を自動的に出力する場合(すなわち、4x4x4式の後の数字の代わりに1.401 ... × 10451.401 ...×10451.401...×10^{45})、これは許可されます。ただし、コード内の式の実行中の浮動小数点精度による丸め誤差は許可されないため、この科学的な丸めを正確な出力に変換して、結果を検証できるように追加のコードを回答に追加してください-実際の結果は正確。 プログラム/機能は、範囲内の少なくとも入力の正しいあるべきである[ 2 …

30
効率的なカウント
私が子供だったとき、私の貯金でドル札を数えたいとき、私は大声で数えたでしょう 1、2、3、4、5、6、7、8、9、10。 11、12、13、14、15、16、17、18、19、20。 21、22、23、24、25 ... 最終的に、これらの複数音節の数字の発音にうんざりしました。数学的に気にかけて、より効率的なカウント方法を作成しました。 1、2、3、4、5、6、7、8、9、10。 1、2、3、4、5、6、7、8、9、20; 1、2、3、4、5、6、7、8、9、30 ... ご覧のとおり、前の番号から変更された数字のみを発音します。これには、数字の英語名よりもはるかに反復性が高いという利点があり、計算に必要な頭脳が少なくてすみます。 チャレンジ 正の整数を取り、それをカウントする方法を出力/返すプログラム/関数を作成します。つまり、右端のゼロ以外の数字とすべての後続ゼロです。 例 1 1 2 2 10 10 11 1 29 9 30 30 99 9 100 100 119 9 120 20 200 200 409 9 1020 20 テストケースの完全なリストは必要ないはずです。これは、OEIS上のA274206です。 ルール エントリは、精度とメモリの問題を無視して、理論的にはすべての正の整数で機能する必要があります。 入力と出力は10進数でなければなりません。 入力または出力を数値、文字列、または数字の配列として選択できます。 入力は正の整数であることが保証されています。エントリは無効な入力に対して何でもできます。 これはcode-golfであるため、バイト単位の最短コードが優先されます。
35 code-golf  number 

30
1から3のように簡単
正の整数を取り込むプログラムまたは関数を作成します。入力が有効であり、文字列として受け取ることができると想定できます。番号が 123 234 345 456 567 678 789 その後、真の値を出力します。それ以外の場合は、偽の値を出力します。たとえば、入力 1 2 3 12 122 124 132 321 457 777 890 900 1011 1230 1234 すべて偽の出力になる必要があります。(入力には先行ゼロがないため、などのことを心配する必要はありません012。) バイト単位の最短コードが優先されます。

22
配列を数学の問題に変える
非負の整数の空でないリストが与えられた場合、それを算術問題として書き直すことを検討してください。 プラス記号(+)は、左から右へ(つまり、リストの先頭から末尾へ)増加する数値のペアの間に挿入されます。 マイナス記号(-)は、左から右に向かって減少する数値のペアの間に挿入されます。 乗算記号(*)は、等しい数のペアの間に挿入されます。 別の言い方をすると、サブリストa,bはa+bif a<b、a-bif a>b、およびa*bifになりa==bます。 たとえば、リスト [12, 0, 7, 7, 29, 10, 2, 2, 1] 表現になるだろう 12 - 0 + 7*7 + 29 - 10 - 2*2 - 1 これはに評価され 75ます。 そのようなリストを取り込んで評価し、結果を出力または返すプログラムまたは関数を作成します。 操作の順序が重要です。乗算は、加算または減算の前に実行する必要があります。 入力リストに1つの数値がある場合、それが評価されるものでなければなりません。例えば、[64]与える必要があります64。 evalまたはexec、同様の構成要素の使用が許可されています。 追加の例を次に示します。 [list] expression value [0] 0 0 [1] 1 1 [78557] 78557 78557 …

9
文字列をひっかく
スナックされた文字列は次のようになります。 T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt あなたのタスク 文字列sとサイズをn取得し、スナックされた文字列を出力します。入力しThisIsAnExampleOfaSnakifiedString、3上記の例を生成します。 仕様書 s コードポイント33から126までのASCII文字のみが含まれます(スペースや改行は含まれません)。 s 長さは1〜100文字です。 n各出力文字列セグメントのサイズを表す整数です。「蛇」の曲線を構成する文字の各行(上/下または左/右)はn文字です。例については、テストケースを参照してください。 n 3〜10になります。 出力文字列は常に下向きになります。 各行の末尾のスペースは許可されます。 出力の最後にある末尾の改行も使用できます。 先行スペースは使用できません。 code-golfは、バイト単位の最短コードが勝つことを意味します。 テストケース a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf 4 …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

28
Champernowne定数で数値を見つける
前書き 10を基数とする場合、Champernowne定数は、連続する整数の表現を連結することによって定義されます。ベース10:0.1234567891011121314151617...など。 の最初の出現は小数で15始まることがわかり20thます。 Position 0000000001111111111222222222233333333334444444444555555555566666666 1234567890123456789012345678901234567890123456789012345678901234567 ^ 0.1234567891011121314151617181920212223242526272829303132333435363738... ^^ 15 = position 20 の最初の出現は小数で45始まり4thます: Position 0000000001111111111222222222233333333334444444444555555555566666666 1234567890123456789012345678901234567890123456789012345678901234567 ^ 0.1234567891011121314151617181920212223242526272829303132333435363738... ^^ 45 = position 4 そのため、タスクは簡単です。負でない整数を指定すると、シャンパーノーン定数の整数の位置を出力します。 ルール 機能またはプログラムを提供できます これはcode-golfであるため、バイト数が最小の提出が勝ちです! テストケース Input: 20 Output: 30 Input: 333 Output: 56 Input: 0 Output: 11 (note that the 0 before the decimal point is …
35 code-golf  math  number 

10
これらのページ番号を圧縮してください!
免責事項:私はこのサイトを娯楽目的で今しばらく使用していますが、これは私の最初の質問ですので、小さなエラーはご容赦ください。 バックグラウンド 宿題を割り当てるとき、私の先生は本当に迷惑で、私たちが個々にしなければならないすべての問題を書きます。そのため、私がしなければならない問題をコピーするには永遠に時間がかかります。私は自分の人生をもっと楽にしたいと思ったので、問題のリストがより少ないスペースを占めるようにするプログラムを彼に送るでしょう。 ページ番号または問題番号のリストを書き留めながら、ダッシュを使用して範囲を示します。たとえば、に19-21なり19, 20, 21ます。間にギャップがある場合、2カンマで区切られた範囲が使用される:19-21, 27-31なります19, 20, 21, 27, 28, 29, 30, 31。 今、あなたはおそらく「これはかなり些細なことだ」と考えているでしょう。実際、これはすでにこことここで回答されています。 ただし、キャッチがあります。連続する数字が等しい範囲がある場合、繰り返される数字は省略できます。例:に15, 16, 17なり15-7、に107, 108, 109なり107-9ます。ボーナスの場合、最後の連続する等しい数字が1より大きい場合、上限の最後の数字が下限の数字以下である場合、以下は省略できます(混乱して聞こえるかもしれませんが、おそらくいくつかの例で解決できます) 。109-113となり109-3下の最後の桁は10秒の場所を増やす意味として、。 チャレンジ プログラムは、入力を介して整数のリストを取得する必要があります(言語または関数の標準は何でも)。このリストをコンマ区切り、スペース区切り、または実際のリスト/配列として決定できます。 出力最短方法(第一の範囲の数でソートし、次に範囲に含まれる文字の和)は、この表記法を使用して、そのリストを表現します。各破線範囲は同じ行になければなりませんが、範囲はコンマまたは改行で区切ることができます(末尾の改行またはコンマは許可されます)。これらの範囲は適切でなければなりません。 私たちの学校のWi-Fiはひどいので、ファイルをできるだけ小さくして彼に送信する必要があります。最短のコード(バイト単位)が優先されます。 ボーナス 私の先生はだらしないので、彼を助けるいくつかのことがあります。複数のボーナスは乗算によってスタックされます。たとえば、-10%ボーナス(x 90%)と-25%(x 75%)ボーナス= 90%* 75%= x 67.5%(-32.5%ボーナス)。 時々、彼はそれらを間違った順番に並べます(彼は数学の先生ではありません)。プログラムが最小から最大にソートされていない整数を受け入れることができる場合、-20%のボーナスを受け取ります。 私たちの本は奇妙で、各セクションは-10で問題を数え始めます。プログラムが負の数を受け入れることができる場合、-25%を取ります。 下の桁が10の位の増加、たとえばに25-32減少するというボーナスを受け入れる場合25-2、-50%のボーナスを受け取ります。 テストケース In: 1, 2, 3, 4, 5 Out: 1-5 In: 3, 4, 5, 9, …

30
月曜日の番号を生成
この質問でパズリングについてGamowが定義した月曜日の数字は、次の3つのプロパティを持つ正の整数Nです。 Nの10進表現に数字0が含まれていません Nの10進数表現に数字が2回含まれていない Nは、その10進表現に現れるすべての数字Dで割り切れます。 これらは、OEISでLynch-Bell番号として代わりに知られていることに注意してください。 例: 15は月曜日の数値であり、両方1で割り切れ5、他の2つの条件を満たします。 16ではありません。なぜなら、それはで割り切れないから6です。 22条件1と3を満たしているにもかかわらず、条件2に失敗するため、数値はそうではありません。 開始する月曜日の最初の25の番号のリストを以下に示します(合計548個あります)。 1 2 3 4 5 6 7 8 9 12 15 24 36 48124126128132135162168175175184216248 ここでの課題は、1から9867312までの月曜日番号の完全なシーケンスを生成する最短コードを書くことです(その質問で可能な限り大きいことが証明されています)。 コードは入力を受け取らず、出力はSTDOUTまたは同等のもので、区切り文字を選択する必要があります。通常のすべてのコードゴルフ規則が適用され、標準の抜け穴は禁止されています。 リーダーボード コードスニペットを表示 var QUESTION_ID=59014,OVERRIDE_USER=42963;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return …

18
電話番号(文字を含む)のロータリーダイヤルパルスをカウントする
祖父母の日、電話番号のダイヤルは次のようなロータリーダイヤルで行われました。 各数字をダイヤルするには、対応する穴に指を入れて指先まで引っ張り、離します。メカニズムにより、ダイヤルが静止位置に戻り、電話機は指定された回数だけ回路を切断および再接続し、カチッという音がします。 数字Nをダイヤルするには、10個のパルスであるN = 0を除き、そのような「パルス」をN 個必要とします。 回転式電話には、大きい数字(8、9、0)が小さい数字(1、2、3)よりもダイヤルに時間がかかるという特性があります。これは、初期のエリアコードマップを作成する際の重要な考慮事項であり、人口(および電話回線)の密度が高いニューヨーク市が212(5パルスのみ)だったのに対し、907(26パルス)はまばらに住んでいたアラスカに行った理由です。もちろん、タッチトーンダイヤルが一般的になったとき、これはすべて無関係になりました。 チャレンジ 電話番号を含む文字列(または文字のシーケンス)を入力として受け取り、その回転ダイヤルパルスの数を出力するプログラムまたは関数を、できる限り少ないバイト数で書き込みます。これらは次のようにカウントされます。 桁 桁1〜9は、そのパルス数としてカウントされます。 桁0は10パルスとしてカウントされます。 手紙 ダイヤルの2〜9の数字には、ラテンアルファベットの文字が関連付けられていることに注意してください。これらは元々は名前付き交換を対象としていましたが、後者は電話ワードやテキストメッセージ入力システムに再適用されました。 E.161文字の数字への割り当てを使用して、電話番号に文字を含めることをサポートする必要があります。 A、B、C = 2 D、E、F = 3 G、H、I = 4 J、K、L = 5 M、N、O = 6 P、Q、R、S = 7 T、U、V = 8 W、X、Y、Z = 9 入力は、大文字または小文字のいずれかにすでに大文字変換されていると仮定できます。 その他のキャラクター 文字とスペースをフォーマット区切り文字として任意に使用できるようにする必要があります()+-./。実装が簡単な場合は、この目的で英数字以外の文字を許可することを選択できます。 これらの文字は、パルスカウントには寄与しません。 サンプルコード Pythonの非ゴルフルックアップテーブルと関数: PULSES = { '1': 1, …
34 code-golf  number 

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