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

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

1
カニンガムチェーンのカウント
素数は常に人々を魅了してきました。2300年前、ユークリッドは彼の「要素」に書いた 素数とは、単位だけで測定されるものです。 つまり、素数は1(またはそれ自体で)割り切れるだけです。 人々は常に素数間の関係を探しており、(「面白い」のような)かなり奇妙なものを思いついてきました。 たとえば、Sophie Germainプライムは、プライムpで2*p+1もあるプライムです。 安全素数は素数であるpそのため(p-1)/2正確ソフィー・ジェルマン素数の下位条件である、また、素数です。 これらは、この課題で私たちが探しているものに関連しています。 A カニンガムチェーンタイプの私は最後のものを除くすべての要素がある素数のシリーズです、ソフィー・ジェルマン素数と、最初のものを除くすべての要素がある安全素数。このチェーンの要素の数は、その長さと呼ばれます。 これは、プライムから始めてp計算することを意味しますq=2*p+1。qが素数である場合、長さ2のタイプIの Cunnighamチェーンがあります。次に2*q+1、次の生成された数が合成されるまでテストなどを行います。 タイプIIのカニンガムチェーンは、ほぼ同じ原理に従って構築されますが、唯一の違い2*p-1は各段階で確認することです。 Cunninghamチェーンの長さは1です。つまり、2 * p + 1も2 * p-1も素数ではありません。これらには興味がありません。 カニンガムチェーンの例 2長さ5のタイプIのチェーンを開始します。 2, 5, 11, 23, 47 次に構築される数95は、素数ではありません。 これはまた、以下のことを教えてくれる5、11、23および47タイプのいずれかのチェーンを開始していない私を、それが要素に先行する必要があるため、。 2また、長さ3のタイプIIのチェーンを開始します。 2, 3, 5 次はで9、これは素数ではありません。 11タイプIIを試してみましょう(以前にタイプIから除外しました)。 さて、21次は、素数ではないので、この「チェーン」の長さは1になりますが、このチャレンジではカウントしません。 チャレンジ n入力として数値を指定すると、少なくとも長さ2のタイプIまたはIIのn番目のカニンガムチェーンの開始番号を書き込み/返すプログラムまたは関数を記述し、その後にスペース、それに続くチェーンのタイプ(IまたはII)、その後にコロン、その後にそのタイプのチェーンの長さが続きます。プライムが両方のタイプのチェーン(タイプI およびタイプII)を開始する場合、タイプI のチェーンが最初にカウントされます。 例: 2 I:5 nこれは、以前に開始された任意のタイプのチェーンの一部である可能性があることに留意してください。その場合、そのタイプのチェーンの開始番号と見なされるべきではありません。 これがどのように始まるのか見てみましょう から始め2ます。これは最初の素数であるため、を含む下位の素数で始まるチェーンがないことを確認できます2。 タイプIのチェーン内の次の数は次のようになります2*2+1 == 5。5素数なので、少なくとも長さ2のチェーンが既にあります。 これを最初のチェーンとしてカウントします。タイプIIはどうですか?次の番号はになります2*2-1 …

6
制御不能の丸めエラー
バックグラウンド 最近、小さな会計事務所に雇われました。会計の世界はあなたにとっていくぶん外国のものなので、あなたがすべての専門家のガイドラインに従っているかどうかはわかりません。特に、これらすべての数値をいつ、どの方向に丸めるべきかわからないので、ほとんどの場合、あなたはそれを翼に乗せて最善を望みます。 入力 入力は、単純な計算を表す単一の文字列です。文字で区切られたいくつかの非負の整数が含まれています+-*/。文字列は左から右に読み取られ、通常の優先順位規則は無視されるため、"23+1*3/4"「23で始まり、1を加算し、3を乗算し、4で除算する」ことを意味します。結果は18になります。0(0それ自体を除く)、またはゼロによる除算。 出力 計算の各段階で、結果を最も近い整数に切り上げまたは切り捨てるか、そのままにしておくことができます。最後に、整数の結果を得るために切り上げまたは切り捨てます。あなたの出力は、そのような計算から生じる可能性のある整数のリストであり、ソートされ、重複はありません。 ルール 完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース "42" -> [42] "2+0+4-0" -> [6] "23+1*3/4" -> [18] "5/2" -> [2,3] "5/2+7/3*6-1" -> [17,18,19,23] "23/2/2*30-170/3" -> [-7,-6,-2,-1,0,1,3,4] "1/3*2*2*2*2*2*2" -> [0,16,20,21,22,24,32,64] "1/3*9" -> [0,3,9]

7
nのべき乗を合計します
行き方 入力整数n(n >= 0)が与えられると、最小の正の整数 mを出力するプログラムを作成します。ここで、 n = a[1]^b[1] + a[2]^b[2] + a[3]^b[3] + ... + a[k]^b[k] aとbは、同じ長さの有限シーケンスです すべての要素は、a以下でありますm すべての要素は、b以下でありますm のすべての要素aは異なり、整数ですa[x] >= 0 のすべての要素bは異なり、整数ですb[x] >= 0 a[x]またb[x]、両方とも0ではありません(0 ^ 0は不確定であるため) これはcode-golfなので、バイト数が最も少なくなります。 例 In 0 -> Out 1 Possible Sum: In 1 -> Out 2 Possible Sum: 1^0 In 2 -> Out 3 …

5
2つの番号を繰り返し追加して、任意の番号を作成します
あなたは、2つの16ビットレジスタを持つマシンを与え、しているxとy。レジスタが初期化されx=1、y=0。マシンが実行できる唯一の操作は、65536を法とする加算です。つまり、次のとおりです。 x+=y- xは次のものに置き換えられ(x + y) mod 65536ます。y変わらない y+=x -同様に y x+=x- xは次のものに置き換えられ2x mod 65536ます。x偶数の場合にのみ合法 y+=y -同様に y 目標は、レジスタのいずれxか(またはy)で事前に定義された数を取得することです。 プログラムまたは番号(で受け取るサブルーチン書くstdin、argv関数のパラメータ、スタックの上部または任意の他の従来の場所)、そしてこの番号を取得するためのプログラムを出力します。出力は、に行くstdoutか、(言語がを持たない場合stdout)他の従来の出力デバイスに行く必要があります。 出力プログラムは、最大100%プラス最適から2ステップまで可能です。つまり、ターゲット番号を取得する最短プログラムにnステップがある場合、ソリューションはを超えることはできません2n+2。この制限は、「簡単すぎる」ソリューション(1、2、3、...など)を回避することですが、完全な最適化は必要ありません。最短のプログラムを見つけるのが最も簡単だと思いますが、確実ではありません... 例:入力=25。出力: y+=x x+=y x+=y x+=x x+=x x+=x y+=x 別の例:フィボナッチ数の場合、出力にはこの交互パターンがあります。入力= 21の場合、出力は y+=x x+=y y+=x x+=y y+=x x+=y y+=x 最短コード(バイト単位で測定)が優先されます。 (このパズルは、最近生成しなければならなかった16ビットプロセッサのコードに触発されました) PS不思議-最適なプログラムが最も長いのはどの番号ですか?

4
数学をする時間です
前書き これは私のお気に入りの数学パズルの1つです。 数字(3など)とその数字を使用する回数(5など)を指定して、+のみを使用して1、2、3、4、5、6、7、8、9、10になる10個の式を生成します。 −、×、÷、^、および√(ルート)(グループは操作をグループ化できます)。 例えば: (3^3 + 3)/(3 + 3) = (33 - 3)/(3 + 3) = 3 + 3/3 + 3/3 = 5 上記のすべてが5つの3を使用し、数学演算と結果が5になることに注意してください。√の前に3を使用して、立方根を表すこともできます。4番目のルートを示すために、√の前に4を使用する場合も同様です。 また、2つの3を使用して33を形成したり、3つの3を使用して333を形成したりできることにも注意してください。 チャレンジ 関数の引数、STDIN、またはコマンドライン引数として2つの数字(両方とも1〜5)が与えられます。 最初の数字は使用する数字を示し、2番目の数字はその数字が式で使用される回数を示します。 プログラムは、サイズ10(またはスペースで区切られた10個の数値)の配列を出力する必要があります。各要素は、(index + 1)数値を生成する数式(許可演算子のみを使用)が可能かどうかを示します。 たとえば、入力が 1 3 次に、出力は [1, 1, 1, 0, 0, 0, 0, 0, 0, 1] なぜなら、1、2、3、および10のみが3つの1を使用して表現できるからです。 スコア これはコードゴルフなので、バイト単位の最小コード長が優先されます。 ボーナス …

4
分岐しないでください
低レベルのコード最適化にある程度慣れている人は、if-statements、loops、またはselect-statementsとして実装されても、分岐の予測ミスの可能性はひどいクロックを浪費するものです。 単純な問題は単純な算術ではるかによく解決できるので、そうしましょう。 次の問題では、すべての変数は32ビット符号なし整数であり、許可されるコードは次の演算子のみを含むプレーンセットステートメントのみです。 + addition - subtraction * multiplication / integer division, rounds down, division by 0 not allowed % modulo & binary and | binary or ^ binary exclusive or >> bitshift right << bitshift left Logic operators, return 1 if the expression is true and 0 if it …

30
プライムパワーからプライムを回復する
定義:素数はp nの形式で表現できる自然数です。pは素数で、nは自然数です。 タスク:プライムパワーp n > 1の場合、プライムpを返します。 テストケース: input output 9 3 16 2 343 7 2687 2687 59049 3 得点:これはcode-golfです。バイト単位の最短回答が優先されます。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

13
算術サイクル
入力: 整数nである>=0か、>=1(f(0)任意です) 出力: n以下のシーケンスの'番目の番号、またはn'番目の番号までのシーケンス。 シーケンス: (0),1,-1,-3,0,5,-1,-7,0,9,-1,-11,0,13,-1,-15,0,17,-1,-19,0,21,-1,-23,0,25,-1,-27,0,29,-1,-31,0,33,-1,-35,0,37,-1,-39,0,41,-1,-43,0,45,-1,-47,0,49,-1,-51,0,53,-1,-55,0,57,-1,-59,0,61,-1,-63,0,65,-1,-67,0,69,-1,-71,0,73,-1,-75,0,77,-1,-79,0,81,-1,-83,0,85,-1,-87,0,89,-1,-91,0,93,-1,-95,0,97,-1,-99 このシーケンスはどのように構築されますか? f(n=0) = 0(オプション) f(n=1) = f(0) + nまたはf(n=1) = 1 f(n=2) = f(1) - n f(n=3) = f(2) * n f(n=4) = f(3) / n f(n=5) = f(4) + n など。 または擬似コードで: function f(integer n){ Integer result = 0 Integer i = 1 …

25
上限Divmodを計算する
仕事 2つの正の整数(divid e ndとdivis o r)が与えられた場合、q uotientとr emainderを計算します。 通常、e = o*q+rwhere q*o<=eおよびとして計算され0<=r<oます。 この挑戦のためにまだe = o*q+rそれがq*o>=e、そして-o<r<=0。 たとえばe=20とo=3、通常はそれは次のようになり20/3 -> 20=3*6+2、以来18<=20と0<=2<3。ここでそれは20/3 -> 20=3*7-1どこに21>=20なります-3<-1<=0 テストケース Input -> Output 20, 3 -> 7, -1 10, 5 -> 2, 0 7, 20 -> 1, -13 100, 13 -> 8, -4 処理する必要はありませんo=0。

10
トリプルバランス番号
説明 3つの部分に分割され、すべての部分の数字が合計されて同じ数になる場合、少なくとも3桁のトリプルバランスの整数を考慮します。次のように番号を分割します。 abcdefghi - Standard case: the number of digits is divisable through 3: abc def ghi abcdefgh - Number % 3 == 2: The outer groups are both assigned another digit abc de fgh (the inner group will have one digit less than both outer groups) abcdefghij - Number …

4
モジュラーパワータワーの評価
2つの数値nとmが与えられた場合、無限の電力塔を評価します。 n ^(n + 1)^(n + 2)^(n + 3)^(n + 4)^ ... mod m ^は右結合であることに注意してください。したがって、2 ^ 3 ^ 4 = 2 ^(3 ^ 4)。さて、どうやって値を右連想演算子の無限シーケンスに割り当てることができますか? f(n、m、i)を、無限の電力塔の最初のi項を含む電力塔として定義します。次に、i> Cごとにf(n、m、i)= f(n、m、C)のような定数Cがあります。したがって、無限の電力塔は特定の値に収束すると言えます。その価値に興味があります。 プログラムは、合理的な最新のPCで10秒未満でn = 2017、m = 10 ^ 10を計算できる必要があります。つまり、ブルートフォーシングを行わずに、実際のアルゴリズムを実装する必要があります。 プログラミング言語の数値制限については、n <2 30およびm <2 50であると想定できますが、アルゴリズムは理論的には任意のサイズn、mで機能する必要があります。ただし、プログラムはこれらのサイズ制限内の入力に対して正しくなければなりません。入力がこれらの制限内であれば、中間値のオーバーフローは許されません。 例: 2, 10^15 566088170340352 4, 3^20 4 32, 524287 16

1
ゲーデルのβ関数を手伝う[終了]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 閉じた2年前。 ゲーデルのβ関数は、3つの自然数を引数として取ります。 次のように定義されます β(x,y,z) = rem(x, 1 + (z + 1) · y) = rem(x, (z · y + y + 1) ) ここで、rem(a、b)は、aをbで整数除算した後の剰余を示します。 β補題は次のように述べています: 自然数のシーケンス(k_0、k_1、…、k_n)には、i≤nごとにβ(b、c、i)= k_iとなる自然数bとcがあります。 ゲーデルは見つけるために助けを必要とbし、c任意の入力のために(k_0, k_1, … , k_n), k_i ∈ ℕ。 n自然数で満たされたlengthの配列を受け取り、配列のb,c補題を満たす可能性のある出力を与える関数を作成します。 総当たりで解決策を得ないでください! (私の完全に非専門家の意見では、最初に数字を取得してから計算するときは総当たりです。それは数字を推測し、次に推測が正しいかどうかを調べることです。ここでコーディングしたいのは、それらはそうするように計算されたため、補助定理を満たしているかどうかをチェックする必要はありません。) 与えられた方程式と情報でそれらを構築します。最短コード勝ボーナスポイントあなたがそれを行う場合Javascript、私はちょうどそれに取得していますので、:) 例: [5, 19, 7, 8] -> (1344595, 19) 1344505 …

26
順序付けられていないリストから2つの整数を見つけて、合計して入力します
これはGoogleのインタビューの質問です。YouTubeリンクについてはこちらをご覧ください。 タスク: 合計が指定された整数になる順不同リストから2つの整数を見つけます。 整数の順序付けられていないリストが与えられた場合、合計が指定された値になる2つの整数を見つけ、これら2つの整数を出力し、成功を示します(終了0)。特定の数値(つまり、最初の2つの整数が正しい数値に加算される)である必要はありません。値に加算されるペアはすべて機能します。 整数は正でゼロより大きい。 整数のリストは、整数のファイル(1行に1つの整数)を含む任意のデータ構造にできます。 整数が見つからない場合は、失敗を示します(終了1)。 リスト内の異なる位置にある2つの整数を返す必要があります。(つまり、同じ位置から同じ番号を2回返すことはできません) (注:ビデオでは、これらは厳密には要件ではありません。「インタビュアー」は彼を複数回変更しました。) 例えば。 sum2 8 <<EOF 1 7 4 6 5 3 8 2 EOF 印刷3および5終了ステータスは0 です。これ1,7で2,6は結果も許可されることに注意してください。 sum2 8 <<EOF 1 2 3 4 可能なコンボがないため、終了ステータス1を返します。4,4ルール5に従って許可されていません。

23
Answer-Chaining-数値の正の除数
この答えの連鎖の挑戦は公式に終わり、その結果、Wheat Wizardが7つの答えを獲得しました。他の回答は歓迎しますが、このチャレンジの受け入れられた回答にも勝者にも影響しません。 仕事: x入力として取得した数値のすべての正の除数を出力します。 入力: x正の除数を計算する必要がある数(10を基数)である単一の数。 出力: のすべての正の除数x。任意の形式には、許可されている\n、,、;限り、それは理解できるだとして、セパレータなどと空白。出力は、整数または文字列の配列にすることもできます(例:)[1, 2, 3, 5, 30]。除数をstdout、console、または同等の言語で出力するか、関数から返すことができます。 ルール ユーザーは連続して2回答えることはできません あなたの答えは、最大でも追加または置換、削除することができる15個のため以外に、(カウントされません空白)前の回答から文字を回答2までの「変換」することができます20個の物事を始めるために文字を 既に回答があるプログラミング言語で回答を投稿することはできません。例外はその言語の完全に異なるバージョンです(例:で回答を投稿する場合、で投稿Python 2.7できますが、では投稿できPython 3ませんPython 2.6) 標準の抜け穴は許可されていません このチャレンジのために、除数を取得するためにビルトインを使用することは許可されていません 質問のタイトルに回答の番号と言語名を含め、前の回答から変更された文字数を含める必要があります 得点 物事が落ち着いた後、最も提出物を持つユーザーが勝ちます。同点の場合、回答の1つで最も高いスコアを持つユーザーが勝ちます。スコアにも同点がある場合、最も古い提出(最もスコアの高い回答)を持つユーザーが勝者として宣言されます。 注:「落ち着く」<=> 7最後の回答が送信されてから3日が経過しました 例: Input, Output: 14 => [1, 2, 7, 14] 25 => [1, 5, 25] 65 => [1, 5, 13, 65] 114 => [1, 2, …

11
緩い範囲の解釈
緩い範囲の解釈 ListSharpは、多くの機能を備えたインタープリター型プログラミング言語です。これらの機能の1つは、次のように機能する1つのインデックスベースの範囲作成者です。 あなたはと範囲を定義する(INT) TO (INT)か、単に(INT)どこの両方または単一のintは分からに行くことができる最大のint32値 次に、これらの範囲を使用して、境界を超えることを恐れずに配列の要素を抽出できます したがって: 1 TO 5 生成: {1,2,3,4,5} 3 生成: {3} AND演算子を使用して範囲を追加できます 1 TO 5 AND 3 TO 6 生成: {1,2,3,4,5,3,4,5,6} これは負の数でも機能することを忘れないでください 3 TO -3 生成: {3,2,1,0,-1,-2,-3} 課題は次のとおりです。 入力 文字配列および文字列として以前に定義された範囲句 出力 1インデックスの要素は範囲の位置に基づいています(非既存/負のインデックスは空の文字に変換されます) 勝つ方法 コードゴルフの挑戦として、あなたは勝つために最短のバイト数でプログラムを作成することになっています 空の文字は存在しないことが指摘されているため、無視する必要があります(ここでは、わかりやすくするためだけに示しましたが、混乱させています) テストケース: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO 3" …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

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