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

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

9
2つのリストの未分類のメジャー化
定義 ベクターを含有するn個の要素があると言われている majorize又は 支配 AベクトルBとN個の すべての値のIFF要素は、k個のように1つの≤ K ≤ Nの最初の要素の和↓介してK番目の要素↓大きいとよりや介して第1の和に等しいk個の要素番目 B ↓、vは↓ベクトルを表し、Vは、降順にソート。 あれは、 a_1 >= b_1 a_1 + a_2 >= b_1 + b_2 a_1 + a_2 + a_3 >= b_1 + b_2 + b_3 ... a_1 + a_2 + ... + a_n-1 >= b_1 + b_2 + ... + b_n-1 a_1 …

8
ローマ数字に変換!
あなたの仕事は、与えられた正の整数をアラビア数字からローマ数字に変換することです。 4000を数えると事態は難しくなります。 ローマ人は、シンボルの上に線を追加して、そのシンボルをで乗算することでこれを行いました1 000。ただし、上線はASCIIでは正確に表示できません。また、シンボルを乗算する二重上線があり1 000 000、次にシンボルを乗算する三重上線1 000 000 000などがあります... そのため、括弧を使用して上線を置き換えることにしました。 シンボルは括弧内に個別に配置できます。たとえば、(VI)と(V)(I)は両方ともの有効な表現です6 000。(V)M6000の有効な表現でもあります。 (I)はを表す有効な方法です1 000。 テストケース Input: 1 Output: I Input: 2 Output: II Input: 3 Output: III Input: 4 Output: IV Input: 15 Output: XV Input: 40 Output: XL Input: 60 Output: LX Input: 67 Output: LXVII Input: 400 Output: …

13
フィボナッチ製品
正のフィボナッチ数の一意の合計として、0より大きい数を分解できます。この質問では、可能な最大の正のフィボナッチ数を繰り返し減算することでこれを行います。例えば: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 ここで、フィボナッチ積を上記と同じリストと呼びますが、加算は乗算に置き換えられます。たとえば、f(100) = 89 * 8 * 3 = 2136。 正の整数nを指定して、その数のフィボナッチ積を返すプログラムまたは関数を作成します。 テストケース: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

7
最適な引き戸幅を見つける
スライディングドアの価格は、ドアの幅に応じて異なります。異なる価格は次のとおりです。 60-80 cm:¤150 81-100 cm:¤200 101-120 cm:220 クローゼットを購入するときは、明らかにコストを最小限に抑えたいので、クローゼットの総幅に基づいて総コストを最小化するドアの幅を見つけることがタスクです。 ルール: 合計幅が入力として取得されます すべてのドアは同じ幅になります 2種類のドアのコストが同じ場合、最小のドアを選択してください 幅はセンチメートルで、整数は小数ではありません 小数を切り上げる 価格は整数として返されます(通貨記号は不要です) 入力および出力形式はオプションですが、出力の順序は次のとおりでなければなりませんNumber of doors, Width, Price。 入力はの範囲になります[120 1000)。 これはコードゴルフです。バイト単位の最短コードが勝ちます。 例: Input: 156 Output: 2, 78, 300 Input: 331 Output: 3, 111, 660 Input: 420 Output: 4, 105, 880

3
数学記号を解読する
Carl Saganの「 Contact」という本を読んだことがあれば、この課題はおなじみかもしれません。 数、未知の演算子、別の数、および結果で構成される一連の数学方程式の入力が与えられると、どの演算子が加算、減算、乗算、または除算を表すかを推測します。 各入力方程式は常に 負でない整数 文字の1 A、B、C、またはD 別の非負整数 キャラクター = 最終的な非負整数 連結されます。たとえば、可能な入力はであり1A2=3、そこからA加算を表すと推定できます。各整数はを満たし0 ≤ x ≤ 1,000ます。 ただし、必ずしもそれほど単純ではありません。次の間にあいまいさが存在する可能性があります。 5A0=5:加算/減算 1A1=1:乗算/除算 0A5=0:乗算/除算 2A2=4:加算/乗算 4A2=2:減算/除算 0A0=0:加算/減算/乗算 等々。課題は、この機能を使用して選択肢を絞り込み、消去プロセスと組み合わせて、各文字が表す演算子を把握することです。(常に少なくとも1つの入力方程式があり、入力で使用される各文字を1つの演算子で明確に一意に一致させることが常に可能です。) たとえば、入力が次の方程式であるとします。 0A0=0:これは、Aを加算、減算、または乗算に絞り込みます(0で除算できません)。 10B0=10:Bは加算または減算のいずれかでなければなりません。 5C5=10:Cは明らかに加算であり、B減算を行い、A乗算を行います。 したがって、これらの入力方程式の出力は次と一致Aする必要があります。*、B と-、とCを有します+。 入力は、それぞれが1つの方程式を表す、単一の空白/コンマ区切りの文字列または文字列の配列として指定できます。出力は単一の文字列("A*B-C+")、配列(["A*", "B-", "C+"])、または辞書/辞書のような2D配列({"A": "*", ...}または[["A", "*"], ...])のいずれかです。 数値が割り切れない別の数値で除算されることはないと想定できます(したがって、除算を浮動小数点にするか切り捨てるかを心配する必要はありません)。 これは code-golfであるため、バイト単位の最短コードが優先されます。 テストケース: In Out ------------------------------- 0A0=0 10B0=10 5C5=10 A*B-C+ 100D100=10000 …

8
線グラフを滑らかにする
整数nの入力と正の整数m 1、 m 2、...のリストが与えられると、整数m 1 '、 m 2 '、...のリストを出力します。ここで、m x 'はmの平均として定義されます xnからm x + n。 これらの平均を計算するとき、範囲外のインデックスを無視します(それに応じて合計を除算するものを調整します)。nは常に≥1になりますが、mの長さの半分(切り捨て)以上にはなりません。これは、mの最小長が4 であることを意味します。mの要素ます正の整数になりますが、出力は小数点以下3桁まで正確でなければなりません。 リストである入力/出力要素は、空白/コンマ区切りの文字列または配列/リスト/などのいずれかです。入力については、ソリューションが関数の場合、nの最初の引数とm xとして追加の引数を追加で取ることができます(これはコマンドライン引数にも適用されます)。 以下が視覚的な表現ですn=1。 1 4 5 7 10 __/ | | | L avg(1,4) = 2.5 | | | \___/ | | L avg(1,4,5) = 3.333 | | \___/ | L avg(4,5,7) = …

4
ゲッターをゲット
タスク 私は誰もが自動コード生成と仕事中の時間の節約を愛していると思います。日中は多くのクラスとメンバーを作成するgetters必要があり、それらすべてを手動で作成する必要はありません。 タスクはgetters、すべてのクラスメンバーに対して自動的に生成されるプログラムまたは関数を作成することです。 入力 私たちの言語では、オブジェクトは非常に単純です。クラスおよびメンバーの名前は、文字から始まる必要[a-zA-Z]があり、文字のみを含めることができます[a-zA-Z0-9]。以下に例を示します。 class Stack { public overflow; protected trace; private errorReport; } 出力 これは、指定された例に基づいた有効な出力です。 class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } ゲッター getterメソッドの要件は次のとおりです。 …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

6
ユニークな乗算スパイラル
これは、カルビンの趣味の最近の乗算表の挑戦に触発されています。 N入力として整数を受け取り、N行N列の一意の乗算スパイラルを出力または返す関数またはプログラムを作成します。コードは(理論上)0から1000の間のNで動作する必要があります(これを出力するのは難しい場合があります)。出力は、次の手順で作成されたテーブルと同等である必要があります。 N行N列の乗算テーブルに入力します。たとえば、N = 3の場合: 1 2 3 2 4 6 3 6 9 左上隅から時計回りにらせん状に進み、訪れた数字に注意してください。すでに訪問した番号にアクセスするときは、0に置き換えます。 いくつかの例を使用すると、より明確になります。 n = 0: 0 n = 1: 1 n = 2: // Spiral order: 1 2 // 1 2 0 4 // 4 3 n = 3: 1 2 3 // 1 2 3 …

4
非常に素晴らしいフリードマン番号
A フリードマン数は、*、/、^、括弧と連結-操作+、と組み合わせて独自の数字を使用して非自明な式に等しい正の整数です。 ニース・フリードマン数は、自明な式に等しい正の整数であり、元の順序で数字を使用して、同じ操作と組み合わせて独自の数字を使用します。 私がここで発明している非常に素晴らしいフリードマン数(VNFN)は、そのような表現のあまりきれいでない(私の意見では)部分なしで書くことができるニース・フリードマン数です。括弧、連結、および単項否定は許可されていません。 この挑戦のために、括弧なしで式を書く3つの可能な方法があります。 プレフィックス:これは左結合性と同等です。このタイプの式は、すべての演算子が数字の左側に記載されています。各演算子は、次の2つの式に適用されます。例えば: *+*1234 = *(+(*(1,2),3),4) = (((1*2)+3)*4) = 20 この方法で記述できるVNFNは343です。 ^+343 = ^(+(3,4),3) = ((3+4)^3) = 343 後置:これは、右結合性と同等です。操作は数字の右側に移動することを除いて、プレフィックス表記に似ています。各演算子は、前の2つの式に適用されます。例えば: 1234*+* = (1,(2,(3,4)*)+)* = (1*(2+(3*4))) = 14 この方法で記述できるVNFNは15655です。 15655^+** = (1,(5,(6,(5,5)^)+)*)* = (1*(5*(6+(5^5)))) = 15655 中置:中置表記法では、5つの操作に標準の操作順序が使用されます。チャレンジのために、その操作の順序は次のように定義されます^。次に、括弧で囲み*、/同時に連想的に残します。最後に、括弧で囲む+と-同時に、連想的に残します。 1-2-3 = (1-2)-3 = -4 2/3*2 = (2/3)*2 = 4/3 2^2^3 = …

1
ツー・ゼロ・ワン・ファイブ・パズル
バックグラウンド このパズルは、フォーフォーズパズルのバリエーションです(それ自体が過去の質問のトピックです)。そのパズルのように、目的は、4桁と特定の数学演算子のみを使用して、異なる整数の数式を見つけることです。ただし、この場合、許可される数字は2、0、1、および5だけです。それぞれがソリューションに正確に1回、正しい順序で表示される必要があります。驚くほど多くの整数がこの方法で表現できます。ソルバーは、奇妙に楽しいので、最初に手で解決することをお勧めします。 ルール 定数は、1桁または複数の数字から作成できます。 整数:たとえば、2、0、15など。 10進数:例.2、.01、1.5など 繰り返しの小数:.2〜(= 0.222 ...)、. 15〜(= 0.1555 ...)、20.15 ~~(= 20.1515 ...) 次の単項演算が許可されています。 単項否定:-x 平方根:sqrt(x) 整数階乗:x! 次のバイナリ操作が許可されています。 標準算術演算子:x + y、xy、x * yおよびx / y 任意のべき乗:x ^ y 任意のルート:rt [x](y)(= xのyのルート) 仕事 プログラムは、できるだけ多くの0〜100の整数の式を出力し、生成した式の数を出力する必要があります。 ソリューションは、n = [expr]の形式で順番に印刷する必要があります。 式では、2、0、1、5のすべての数字をその順序で1つずつ使用する必要があります。 式は、上記の表記法を使用して印刷する必要があります。不要な括弧は許可されますが、空白のように必須ではありません。演算子の優先順位は、単項否定、階乗、べき乗、乗算/除算、加算/減算です。 プログラムは、すべての数値の解を返す必要はありません。したがって、単に0を出力するプログラムは有効です。ただし、以下のスコアリングセクションを参照してください。 プログラムは、最新のコンピューターで15分未満で実行する必要があります。 プログラムまたは関数を作成できます。式はSTDOUT(または最も近い代替)に出力する必要があります。式の数は、STDOUTに出力するか、整数として返すことができます。標準コードのゴルフ制限が適用されます。 出力例 0=2*0*1*5 10=20*1*.5 42=((2+0!)!+1)!/5! 100=20*1*5 4 得点 …

30
整数対数
整数が与えられるとN , P > 1、Mそのような最大の整数を見つけるP ^ M ≤ N。 I / O: 入力は2つの整数Nとで与えられますP。出力は整数になりMます。 例: 4, 5 -> 0 33, 5 -> 2 40, 20 -> 1 242, 3 -> 4 243, 3 -> 5 400, 2 -> 8 1000, 10 -> 3 ノート: 入力は常に有効です。つまり、常に1より大きい整数になります。 クレジット: 名前の功績は@cairdcoinheringaahingにあります。最後の3つの例は@Nitrodonによるもので、説明を改善した功績は@Giuseppeにあります。

10
N次元シンプレックス(四面体)を作成する
任意の次元に対して作成できる最も単純なN次元形状はシンプレックスであり、これは互いに等しい距離にあるN + 1ポイントのセットです。 2次元の場合、これは正三角形、3次元の場合、これは正四面体、4次元では5セルなどです。 チャレンジ 入力として整数次元Nを指定すると、この次元のシンプレックスを表す配列/リスト/スタック/ N個の次元ポイントを出力します。つまり、互いに等しく、ゼロ以外の距離にあるN + 1個の頂点。 Luaでのリファレンス実装 例 1 -> [[0], [1]] 2 -> [[0, 0], [1, 0], [0.5, 0.866...]] 4 -> [[0, 0, 0, 0], [1, 0, 0, 0], [0.5, 0.866..., 0, 0], [0.5, 0.288..., 0.816..., 0], [0.5, 0.288..., 0.204..., 0.790...]] ノート 入力は標準形式の数値であり、常に1より大きく10より小さい整数になります。 ハードコーディングは1の入力に許可されますが、それ以上は許可されません。 妥当なエラーは出力で許可されます。浮動小数点演算またはトリガーの問題は無視できます。 N次元シンプレックスの変換は、レギュラーおよび非ゼロのままである限り許可されます。 …

18
数字で暗号化!
問題: 2人の敵の秘密エージェントが素晴らしい(あなたのための)通信方法を考案しました! 暗号化プロセスの仕組みは次のとおりです。 1)各文字のASCII相当物を取ります。(スペース、数字、または句読点は送信されません) 2)メッセージ内の各文字について、それと同等のASCII文字とその後の文字(存在する場合、存在しない場合は0と見なされる)、乗算されます(この製品は配列/リストに格納されます)合計します(この番号は別のリストにも保存されます)。 3)2つのリスト(合計と製品)が結合され(合計リスト、次に倍数リスト、同じ配列に)、送信されます。 このプロセスを逆にし、この形式で送信されたメッセージを解読できる最小のプログラムを書く必要があります! 入力と出力のペアの例: [173, 209, 216, 219, 198, 198, 225, 222, 208, 100, 7272, 10908, 11664, 11988, 9657, 9657, 12654, 12312, 10800, 0] -> “HelloWorld” [131, 133, 164, 195, 197, 99, 4290, 4422, 6499, 9506, 9702, 0] -> “ABCabc” これはcode-golfであるため、バイト単位の最小のソリューションが優先されます。 エラーメッセージは許可されます。 提出物で指定する場合、プログラムにはlist / 1次元配列またはカンマ区切りの文字列を指定できます。デフォルトは配列/リストです。

6
有理生成関数の係数を見つける
数値のシーケンスをべき級数の係数として記述する場合、そのべき級数はそのシーケンスの(通常の)生成関数(またはGf)と呼ばれます。つまり、ある関数F(x)と一連の整数a(n)について次のようになっている場合: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 次にF(x)はの生成関数ですa。たとえば、幾何級数は次のことを示しています。 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) したがって、の生成関数は1, 1, 1, ...です1/(1-x)。上記の式の両側を微分して乗算するxと、次の等式が得られます。 x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 したがって、の生成関数は1, 2, 3, ...ですx/(1-x)^2。関数の生成は非常に強力なツールであり、それらを使用して多くの便利なことができます。簡単な紹介はここにありますが、本当に徹底的な説明のために、素晴らしい本生成機能があります。 この課題では、入力として有理関数(整数係数を持つ2つの多項式の商)を、最初に分子、次に分母の2つの整数係数の配列として受け取ります。たとえば、関数f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

16
バウンスモジュロ2数
モジュロ演算のグラフ()は次のようになります。y=xmodky=xmodky = x \mod k これは、「ラッピング」動作を作成できるため、非常に便利な機能です。ただし、2つの壁の間で「バウンス」のような外観を作成するために使用する場合、非常に面倒です。「バウンス」関数のグラフ()は次のようになります。y=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k) y = xのグラフの期間は kです。y = バウンス(x 、k )のグラフの周期は 2 kです。これは、 k単位で上方に移動し、さらに k単位で下方に移動してから、開始位置に戻るためです。両方の関数について、 yの最小値は0、最大値は kです(実際、積分入力のモジュラス関数の場合、 k − 1です)。また、両方の関数で、 x = 0の値は0です。y=xmodky=xmodky = x \mod kkkky=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k)2k2k2kkkkkkkyyykkkk−1k−1k-1x=0x=0x=0 チャレンジ 整数と正の整数kを指定すると、y = bounce (x 、k )の整数または浮動小数点近似を返します。xxxkkky=bounce(x,k)y=bounce(x,k)y = \text{bounce} (x, k) これはcode-golfであるため、最短の有効な送信(バイト単位)が勝ちます。 …

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