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

初等算術に関連する課題。

12
シャミールの秘密の共有
与えられたn(プレイヤーの数)、 t(しきい値)、およびs(秘密)、出力nによって生成された秘密シャミール秘密分散アルゴリズム。 アルゴリズム このチャレンジの目的のために、計算はGF(251)(sizeの有限体251、または整数mod 251として知られる)で行われます。通常、フィールドは、サイズがより大きい素数になるように選択されnます。課題を簡素化するために、フィールドサイズは一定になります。251これは、8ビットの符号なし整数で表現できる最大の素数であるため選択されました。 t-1(包括的)範囲でランダムな整数を生成します[0, 250]。これらのラベル1を通過T-1 。 構築t-1用い番目の多項式をsのパワーの係数として工程1からの一定値とランダムな整数としてx:F(X)= S + X * 1 + X 2 * 2 + ... + X T- 1 * a t-1。 (包括的)範囲内の(f(z) mod 251)それぞれの出力。z[1, n] 参照実装 #!/usr/bin/env python from __future__ import print_function import random import sys # Shamir's Secret Sharing algorithm # Input …
17 code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

13
好奇心の素数式
正の整数nを出力すると、整数aおよびb(簡約された小数部a / bを形成)は次のようになります。 ここで、p kはk番目の素数です(p 1 = 2)。 例: 1 -> 3, 5 2 -> 12, 25 3 -> 144, 325 4 -> 3456, 8125 5 -> 41472, 99125 15 -> 4506715396450638759507001344, 11179755611058498955501765625 420 -> very long 確率的素数チェックは許可されており、言語の整数型の制限により回答が失敗した場合でも問題ありません。 バイト単位の最短コードが優先されます。

11
再帰的な2x2行列式
2行2列の行列式 a b c d によって与えられad - bcます。 次元2 n x 2 n、n≥1 の数字の行列が与えられた場合、単一の数に達するまで各2 x 2サブブロックの行列式を再帰的に計算することにより得られた結果を出力します。 例えば、与えられた入力 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 1つのステップの後、以下を取得します。 (3*9 - 1*5) (4*6 - 1*2) = 22 22 (5*7 - 3*9) (5*3 - 8*9) 8 …

8
誰がフットボールの試合に勝つつもりですか?
アメリカンフットボールのチャンピオンシップであるスーパーボウル50は、本日11時30分(UTC)に開催されます(オンラインでライブ視聴できます)。この挑戦はそれを祝うためになされました。 アメリカンフットボールの試合では、2つのチームが最も多くのポイントを獲得するために競い合い、これらのポイントを獲得する6つの方法があります。それぞれに略語を付けます: フィールドゴール - FG:3ポイント タッチダウン - TD:6ポイント 追加ポイント - XP:1ポイント-タッチダウンの直後にのみ得点できます。 2ポイントの変換 - XD(追加のポイントと同様ですが、より幸せです):2ポイント-タッチダウンの直後にのみ得点できます。 安全性 - S:2ポイント フェアキャッチキック - FCK:3ポイント(非常にまれなプレー) これらの6つの略語のみを大文字と小文字の両方で含む1行の文字列を取り込むプログラムまたは関数を記述します。 この文字列は、フットボールの試合(または試合の一部)のすべてのスコアリングイベントを表し、大文字の用語は1つのチームに属し、小文字の用語は他のチームに属します。 あなたの仕事は、ゲームの最終スコアを報告し、フォームの出力で勝った人を示すことです [score 1] [to] [score 2] どこ: [score 1] 大文字と小文字のどちらが勝つかに関係なく、常に2つのスコアの大きい方(等しくない場合)です。 [score 2] 2つのスコアのうち小さい方(等しくない場合)。 [to]でTO、あれば大文字のチームウォンto小文字のチームが勝った場合、およびToそれがタイだ場合。 例:スーパーボウルXLIXのすべてのスコアリングイベントは 、文字列で要約できます。 TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP ここで、大文字はニューイングランド・ペイトリオッツ、小文字は シアトル・シーホークスです。パトリオットは28点、ホークス24点を獲得したため、出力は次のようになります。 28 TO 24 ノート プログラム/関数は、空の文字列を含む任意の入力をサポートする必要があります。 XPおよびのXD直後にのみ発生しますTD。xpおよびのxd直後にのみ発生しますtd。 特定の場合に、入力文字列が開始または終了するとは限りません。 入力と出力の両方で、オプションで単一の末尾の改行を使用できます 得点 …

8
連結されたシーケンスを並べ替える
f(n) = f(n-1)+f(n-2)で始まる再帰関係に基づくシーケンスを考えf(1) = x1, f(2) = x2ます。の場合x1 = 2, x2 = 1、シーケンスは次のように始まります。 2 1 3 4 7 11 18 29 47 76 123 199 322 521 843 これを文字列に連結すると、次のようになります。 213471118294776123199322521843 ここで、このリストをを与える最小の数に分割しますy(n) > y(n-1)。最初の番号から始めて、2番目の番号から始めます。最初の出力番号は常に1桁でなければなりません。最後の数字に必要な数のゼロを埋め込みます。 2 13 47 111 829 4776 12319 93225 218430 (x1, x2)任意の便利な形式で、入力として2つの数値を取得します。課題は、ソートされたリストを出力することです。 ルール: 機能とプログラムはOK 初期シーケンスには、正確に15個の数字が必要です(最後の数字はf(15))。 x1そして、x2負ではありません(ゼロも可能です)。 出力は任意の便利な形式にすることができます 出力ベクトルyは、次のように作成する必要がありますy2 …

16
部分積を出力する
で長い乗算、数を乗算した後、あなたが出力それらの部分積を意志この挑戦に、部分積が残されています。 長い乗算は長いため、コードを補正するにはできるだけ短くする必要があります。 例 34, 53 102, 1700 48, 38 384, 1440 361, 674 1444, 25270, 216600 0, 0 0 1, 8 8 仕様書 入力/出力は、配列、コンマ区切りの文字列(または数字ではないその他の区切り文字)、リスト、関数の引数など、妥当な形式にすることができます。 部分的な製品は昇順でなければなりません。 部分的な製品がの場合、0出力するかどうかを選択できます。 これはコードゴルフなので、バイト単位の最短コードが勝ちです!

9
セブンのサイクルサムシーケンス
7×0から7×9までの7の乗算表を見てください。 0, 7, 14, 21, 28, 35, 42, 49, 56, 63 自分の場所の数字だけを見ると、数字0〜9の順列が得られます。 0, 7, 4, 1, 8, 5, 2, 9, 6, 3 正の10進整数Nを取り、Nの各桁Dを7×Dの場所の桁に置き換えることを検討してください。 たとえば、15209なっ75403ているため1にマップ7、5にマップは5、2にマップ4、0にマップ0、および9にマップ3。 さて、この新しい10進整数でサイクルを見るまで、つまり、すでに見た整数が現れるまで、このプロセスを繰り返しましょう。 たとえば15209、サイクルを取得すると 15209 -> 75403 -> 95801 -> 35607 -> 15209 -> repeats... ^ | cycle restarts here 別の例として505、短いサイクルがあります 505 -> 505 -> repeats... ^ | …

8
デジタルセルオートマトン
奇数の正の整数Nと10進数の文字列(0123456789)を取り込むプログラムまたは関数を作成します。文字列は、10状態の1次元セルオートマトンを表します。各桁は1つのセルを占有し、世代から世代への更新規則は、すべてのセルが、10を法とするセルを中心とするN個のセルの合計から生じる桁になることです。 最初と最後のセルは隣接セルのように折り返されるため、セルは常にN個のセルを中央に配置できます。Nは文字列の長さよりも大きい場合があることに注意してください。これは、Nが複数回折り返される可能性があり、それに応じていくつかの桁が複数回合計されることを意味します。 例として、Nが7で文字列がの038場合、合計するセルを視覚化するため038に、両方向に無限に繰り返すことができます ...038038038038038... に0変更される数字は、010を法としてanyを中心とした7桁の合計です。 ...038038038038038... ^_____^ | sum all these これは(0+3+8+0+3+8+0)%10、です2。 同様の数字3と8変化によって定義さに(3+8+0+3+8+0+3)%10= 5及び(8+0+3+8+0+3+8)%10= 0それぞれ。 したがって、後の世代038は250Nが7のときです。 プログラムまたは関数は、次世代の入力数字列の数字列を印刷または返す必要があります。すなわち、各セルに更新ルールを1回適用し、出力を提供します。バイト単位の最短コードが優先されます。 テストケース [digit string] -> [N = 1], [N = 3], [N = 5], [N = 7], [N = 9], [N = 43] 0 -> 0, 0, 0, 0, 0, 0 1 -> 1, …

7
合計のないパーティションを見つける
エグゼクティブサマリー 入力を考えるとk、整数のパーティションを見つける1にnにk最大のための和自由サブセットn10分以内にすることができます。 背景:シュール数 自己合計に共通する要素がない場合、セットAは合計なしですA + A = { x + y | x, y in A}。 すべての正の整数の場合はk整数の最大があるS(k)セットがあるよう{1, 2, ..., S(k)}に分割することができますk合計フリーサブセット。この番号は、k 番目の シューア番号(OEIS A045652)と呼ばれます。 たとえば、S(2) = 4。{1, 2, 3, 4}としてパーティション化できます。{1, 4}, {2, 3}これは、2つの合計のないサブセットへの一意のパーティションですが、5どちらの部分にもa を追加することはできません。 チャレンジ 以下を実行する決定論的プログラムを作成します。 k入力として正の整数を取る 現在のUnixタイムスタンプをstdoutに書き込みます パーティションのシーケンスを出力1するnにk増大させるための和自由サブセットn現在のUnixタイムスタンプを持つ各シーケンス以下、。 勝者は、n入力が与えられたときに私のコンピューターで10分以内に最大のパーティションを印刷するプログラム5です。n3回の実行で平均された最大のパーティションを見つけるための最も早い時間で関係が壊れます。そのため、出力にタイムスタンプを含める必要があります。 重要な詳細: 私はUbuntu Preciseを持っているので、あなたの言語がサポートされていない場合、スコアをつけることができません。 Intel Core2 Quad CPUを持っているので、マルチスレッドを使用したい場合、4つ以上のスレッドを使用しても意味がありません。 特定のコンパイラフラグまたは実装を使用する場合は、回答に明確に文書化してください。 入力を処理するためにコードを特殊なケースにしないでください5。 見つかったすべての改善を出力する必要はありません。たとえば、入力の2場合は、パーティションのみを出力できますn = …

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

30
プライムパワーからパワーを回復
多くの人がこれを持ちたいと思っているようですので、今ではこの挑戦の続編です! 定義:素数はp nの形式で表現できる自然数です。pは素数で、nは自然数です。 タスク:プライムパワーp n > 1の場合、パワーnを返します。 テストケース: input output 9 2 16 4 343 3 2687 1 59049 10 得点:これはcode-golfです。バイト単位の最短回答が優先されます。

12
サジェクションの数
仕事 2つの正の整数nとが与えられた場合k、はn > k、n区別可能な要素のセットから区別可能な要素のセットへの射影の数を出力しkます。 定義 関数f:S→Tは、すべてのt∈Tに対してf(s)= tであるようなs∈Sがある場合、サジェクションと呼ばれます。 例 ときn=3とk=2、出力は6あるので、6からsurjections {1,2,3}には{1,2}: 1↦1, 2↦1, 3↦2 1↦1, 2↦2, 3↦1 1↦1, 2↦2, 3↦2 1↦2, 2↦1, 3↦1 1↦2, 2↦1, 3↦2 1↦2, 2↦2, 3↦1 テストケース n k output 5 3 150 8 4 40824 9 8 1451520 参照 OEIS A019538 得点 これはcode-golfです。バイト単位の最短回答が優先されます。 標準の抜け穴が適用されます。

8
可能な限り悪である
前書き これは、あなたがその人の邪悪な双子の役割を担っているこの挑戦のフォローアップです。悪であるため、シェアを最大化するのではなく、可能な限り不公平になり、それをあまりにも明白にしないため、次のスキームを思いつきました。 兄弟のようにできるだけ公平になりたいことを他の人に伝え、整数を等しい長さの断片に分割します。したがって、整数ごとに、適切な人数の人々を見つけて、最大のピースと最小のピースの差が最大になるようにします。 たとえば、整数6567を指定した場合、そのままにして、2つ65,67または4 つに分割できます6,5,6,7。これにより、次の最大の違いが得られます。 6567 -> max() = 0 65,67 -> max(|65-67|) = 2 6,5,6,7 -> max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2 あなたが唯一の悪になりたいので、あなたは好まない67にわたる7ため、あなたは出力のどちらかでしょう2か4。 別の(あまり特別なケースではない); 整数121131を指定すると、次のように分割できます。 121131 -> max() = 0 121,131 -> max(|121-131|) = 10 12,11,31 -> max(|12-11|,|12-31|,|11-31|) = 20 1,2,1,1,3,1 -> max(…) = 2 今回は1つの解決策しかありません。つまり3、3人で最大の違いがあるためです。 チャレンジ 整数を考えると決めるどんな最大限に悪であることの可能な方法をと報告した人々の数、これを達成するために必要なの。 ルール 入力は常に≥1 入力は、整数、数字のリスト、または文字列のいずれかです 無効な入力を処理する必要はありません …

30
一連の課題#3:移動平均
注:これは、一連のアレイ操作の課題の3 番目です。前のチャレンジについては、ここをクリックしてください。 リストの移動平均 リストの移動平均は、元の小さな重複サブリストを平均化することによって作成された、新しい平滑化されたリストを生成する計算です。 移動平均を作成するとき、特定の「ウィンドウサイズ」を使用して重複するサブリストのリストを最初に生成し、このウィンドウを毎回右にシフトします。 たとえば、リスト[8, 4, 6, 2, 2, 4]とウィンドウサイズを指定する3と、サブリストは次のようになります。 [8, 4, 6, 2, 2, 4] Sublists: ( ) <- [8, 4, 6] ( ) <- [4, 6, 2] ( ) <- [6, 2, 2] ( ) <- [2, 2, 4] 次に、各サブリストの平均値を計算して結果を取得します[6.0, 4.0, 3.3, 2.7](各値は小数点以下1桁に丸められます)。 チャレンジ あなたの仕事は、リストLおよび整数1≤n≤length(L)が与えられ、ウィンドウサイズnを使用してLの移動平均を計算するプログラムまたは関数を書くことです。 ルール: プログラムでは、整数除算または浮動小数点除算を使用できます。浮動小数点除算の場合、値がそれ以外の場合に正しい限り、データ型の制限によるわずかな不正確さが許可されます。 …

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