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

課題には数学が含まれます。また、より具体的なタグの使用を検討してください:[数値] [数値理論] [算術] [組み合わせ] [グラフ理論] [形状] [抽象代数]。

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 

26
シンプルなゴルフ通訳
チャレンジ: あなたの仕事は、単純なゴルフ言語の簡単な通訳を作成することです。 入力: 入力は、スペースで区切られた文字列の形式になります。 スペース区切りを必要なものに置き換えることができます 出力: すべての操作を実行した後に得られた結果(数値または文字列)を出力します。複数の出力がある場合、結合して単一の結果(セパレーターなし)にします。変数の初期値は常にゼロです。すなわち:で始まる0 言語構文: この言語には次の演算子があります。 inc ---> add one to variable dec ---> remove one from variable mult ---> multiply variable by 2 half ---> divide the variable by 2 Pri ---> print the variable to console (or whatever your language has) exit ---> end the …

9
特性多項式
特性多項式正方行列のAは多項式として定義されたP A(X)= DET(I X- A)ここで、Iは、ある単位行列とDET 決定基を。この定義は、解が一意であるようなモニック多項式を常に与えることに注意してください。 この課題のタスクは、整数値の行列の特性多項式の係数を計算することです。このため、ビルトインを使用できますが、推奨されません。 ルール 入力は、任意の便利な形式のNxN(N≥1)整数行列です。 プログラム/関数は、係数を昇順または降順で出力/返します(どちらを指定してください) 係数は、x Nの係数が1になるように標準化されます(テストケースを参照) 無効な入力を処理する必要はありません テストケース 係数は降順で与えられます(x N、x N-1、...、x 2、x、1): [0] -> [1 0] [1] -> [1 -1] [1 1; 0 1] -> [1 -2 1] [80 80; 57 71] -> [1 -151 1120] [1 2 0; 2 -3 5; 0 1 …

21
反復ファイシーケンス
関連:繰り返しphi(n)関数。 あなたの課題は、反復phi関数を計算することです。 f(n) = number of iterations of φ for n to reach 1. どこφでオイラーのφ関数は。 関連OEIS。 以下がそのグラフです。 ルール: あなたの目標はからに出力f(n)するn=2ことn=100です。 これはコードゴルフなので、最短のコードが優先されます。 確認できる値は次のとおりです。 1, 2, 2, 3, 2, 3, 3, 3, 3, 4, 3, 4, 3, 4, 4, 5, 3, 4, 4, 4, 4, 5, 4, 5, 4, 4, 4, 5, 4, …

23
中間のオッズを伴う偶数桁の循環シーケンス
次のシーケンスを検討してください。 1, 0, 1, 2, 4, 1, 6, 8, 0, 1, 2, 4, 6, 8, 1, 0, 2, 4, 6, 8, 1, 0, 2, 4, 6, 8, 0, 1, ... 偶数桁は0から始まり、長さが増加するランにグループ化されます。これらは循環的に配置されます。つまり、8に達するまで昇順でソートされ、その後0から循環します。1は偶数桁の実行を分離し、シーケンスも開始します。このシーケンスがどのように形成されるかを視覚化しましょう: 1, 0, 1, 2, 4, 1, 6, 8, 0, 1, 2, 4, 6, 8, 1, 0, 2, 4, 6, …

4
配列を伸ばす
先ほど、配列を粉砕するプロセスを定義しました クラッシュでは、配列を左から右に読み取ります。ある時点で2つの同じ要素が連続して出現した場合、最初の要素を削除し、2番目の要素を2倍にします。 例は、次の配列を粉砕するプロセスです [5,2,2,4] ^ [5,2,2,4] ^ [5,2,2,4] ^ [5,4,4] ^ [5,4,4] ^ [5,8] ^ 同じ要素を複数回折りたたむことができることに注意してください。この例で2,2,4は8、1回のパスで折りたたまれました。 配列の粉砕は簡単になりましたが、難しいのは配列を粉砕することです。あなたの仕事は、正の整数の配列を入力として受け取り、繰り返し押しつぶされたときに入力を形成できる最大の配列を出力することです。たとえば、配列[4]は粉砕によって形成され、粉砕[2,2]は粉砕によって形成され[1,1,1,1]ます。非整数値を持つ[1,1,1,1]ことはできないため、これ以上クラッシュさせることはできず、それが答えです。 この0ような配列は無期限に拡張できるため、入力配列でa を受け取ることはありません。また、同じ奇数の番号が2つ並んでいるケースを受け取ることはありません。そのようなケースは、粉砕の結果ではありません。 これはコードゴルフであるため、回答はバイト単位で測定されたソースのサイズでスコアリングされ、バイト数は少ない方が良いです。 答えを始める前に、この挑戦​​は見かけよりもはるかに難しいと言いたいだけです。進むにつれて直観を確認し、答えがすべてのテストケースに合格することを確認します。 テストケース [] -> [] [5] -> [5] [6] -> [3,3] [8] -> [1,1,1,1,1,1,1,1] [4,8] -> [1,1,1,1,1,1,1,1,1,1,2] [2,8] -> [1, 1, 1, 1, 2, 1, 1, 1, 1] [4,4] -> …

4
ヒドラスレイヤーの帰還
あなたがそのヒドラを殺してからしばらく経ちましたが、あなたは長年栄光を浴びていましたが、今では人々はあなたを洗い流していると呼んでいます。さて、あなたは彼らが間違っていることを証明する時、あなたは別のヒドラの行方を聞いたことがあります。単にそれを殺すと、あなたはあなたが値するすべての栄光を授与されます。 あなたは剣を受け取るために武器庫に到着しますが、それらはすべて通常の剣ではなく、残っているのはセクターだけです。nセクターはHydraの頭の数をnで除算しますが、頭の数がnで割り切れる場合にのみ使用できます。 もう一度、あなたはヒドラを殺すのを助けるためにいくつかのコードを書くつもりです。コードは、ヒドラの頭の数を入力として受け取り、戦いを開始し、ヒドラが毎ターン成長する頭の数、および使用できるnセクターのリストを入力します。あなたのコードは、可能な限り迅速にヒドラを殺すための動きの最適なパターンを出力します 戦いの各ターンでは、1つのスライスを選択して、スライスの後にヒドラの頭が1つだけの場合は勝ち、そうでない場合は頭を成長させます。あなたは決して動きをすることはできませんし、可能な動きがなければ損失します。 解決策が不可能な場合は、解決策以外の何か、たとえば空のリスト、何もない、数字のゼロなどを出力できます。 これはコードゴルフであるため、回答はバイト数として記録され、少ない方が良い結果が得られます。 テストケース ここにいくつかの超基本的なテストケースがありますが、リクエストに応じてさらにテストケースが追加されます。 24 heads, 1 heads per turn, [2,3] -> [3,3,2,3] 25 heads, 2 heads per turn, [2,3] -> No solutions 4 heads, 2 heads per turn, [2] -> No solutions 4 heads, 3 heads per turn, [2,5] -> [2,5] 10 heads, 17 heads …
13 code-golf  math  number  game 

1
ハイドラスレイヤーになる
あなたはこの地域の最高で最も有名なヒーローです。最近、ヒドラが近くの渓谷でぶらぶらしているという噂がありました。あなたがあなたであるという勇敢で高潔なヒーローであることは、あなたが今日いつかそれをチェックアウトすることになると考えています。 ヒドラエの問題は、頭を切り落とそうとするたびに、新しい頭が成長することです。幸いなことに、あなたは一度に複数の頭を切り落とすことができる剣を持っています。しかし、ヒドラがあなたの剣のカットよりも少ない頭を持っている場合、あなたはヒドラを攻撃することはできませんキャッチがあります。ヒドラの頭が正確にゼロになったら、あなたはそれを殺しました。 呼ばれる特殊な剣もあり等分ハイドラの頭の半分を切ったが、ヘッドの数が偶数である場合にのみします。ヘッドの数が奇数の場合、Bisector はまったく使用できません。これは、ゼロヘッドの切断とは異なります。 あなたはヒドラを殺すための最良の方法を見つけるためにコンピュータープログラムを書くことに決めました。 仕事 入力として与えられます Hydraが始まる頭の数 Hydraが毎ターン再生する頭の数 それぞれが使用可能な剣のリスト(それぞれが二等分線であるか、各ターンで一定数の頭を切る) 可能な限り少ないターンでヒドラを殺す動きのリストを出力する必要があります。ヒドラを殺す方法がない場合は、そのことを示す他の値を出力する必要があります(言語が強く入力されている場合は空のリストでも構いません)。ヒドラを殺すための最適な方法が複数ある場合、それらのいずれかまたはすべてを出力できます。 これはコードゴルフの質問なので、回答はバイト単位で記録され、バイト数は少ない方が良いでしょう。 テストケース リクエストにより利用可能 5 heads, 9 each turn, [-1,-2,-5] -> [-5] 12 heads, 1 each turn, [/2,-1] -> No solution 8 heads, 2 each turn, [-9, -1] -> [-1,-9] 3 heads, 23 each turn, [/2,-1,-26] -> [-1,-1,-26,-26,-26,-26,-26,-26,-26,-26] 16 heads, …
13 code-golf  math  game 

5
ランク相関係数
通常の相関係数(2d)は、点の集合が線でどれだけうまく記述できるかを測定し、はいの場合、その符号は正または負の相関があるかどうかを示します。ただし、これは、ポイントの座標が実際に、たとえば測定値として定量的に解釈できることを前提としています。 あなたはしかし、あなたはまだできることを行うことができない場合はご注文の座標を、そこにあるの順位相関係数:それはポイントがによって記述することができますどれだけ測定単調機能。 チャレンジ 2dポイントのリストが与えられたら、それらのランク相関係数を決定します。 詳細 入力は正の整数(ただし、そうする必要はありません)、またはその他の「ソート可能な」値であると想定できます。 ポイントは、ポイントのリスト、またはx座標とy座標の2つのリスト、マトリックスまたは2D配列などとして取得できます。 出力は、0〜1の実数を表す必要があるため、浮動小数点または有理数型である必要があります。 定義 ランク:番号のリストをX=[x(1),...,x(n)]指定するrx(i)と、各エントリにrankと呼ばれる正の数を割り当てることができx(i)ます。そのためには、リストをソートx(i)し、ソートされたリスト内のインデックスを割り当てますrx(i)。2つ以上のx(i)値が同じ場合、対応するすべてのインデックスの算術平均をランクとして使用します。例: List: [21, 10, 10, 25, 3] Indices sorted: [4, 2, 3, 5, 1] 番号10はここに2回表示されます。ソートされたリストでは、インデックス2とを占有します3。それらの算術平均は2.5、ランクが Ranks: [4, 2.5, 2.5, 5, 1] 順位相関係数は:レッツは、[(x(1),y(1)),(x(2),y(2)),...,(x(n),y(n))]与えられたポイントになるところそれぞれx(i)とy(i)実数でそれぞれについて(WLOGは、あなたはそれが整数であると仮定することができます。)i=1,...,n我々は計算のランクを rx(i)とry(i)のx(i)とy(i)それぞれ。 してみましょうd(i) = rx(i)-ry(i)ことがランク差とlet S合計でS = d(1)^2 + d(2)^2 + ... + d(n)^2。そして、順位相関係数は rhoで与えられます rho = 1 - 6 …

14
Dottie番号の概算
Dottie番号は余弦関数の固定点である、または方程式の解(X)= X COS。1 あなたの仕事は、この定数に近いコードを作成することです。コードは、整数を入力として受け取り、実数を出力する関数を表す必要があります。入力が増加するときの関数の制限は、ドットの数でなければなりません。 数値の分数、小数、または代数表現として出力できます。出力は任意に正確である必要があり、floatとdoubleはこの課題には不十分です。ご使用の言語が任意の精度の数値に対応していない場合、それらを実装するか、新しい言語を選択する必要があります。 これはコードゴルフの質問なので、回答はバイト単位で記録され、バイト数は少ない方が良いでしょう。 チップ 定数を計算する1つの方法は、任意の数を取り、それに余弦を繰り返し適用することです。アプリケーションの数は無限に向かう傾向があるため、結果はコサインの固定点に向かう傾向があります。 これはかなり正確な数値の近似値です。 0.739085133215161 1:ここでは、ラジアン単位のコサインを取ります

4
平方根の数
タスクは次のとおりです。正の整数xと素数を指定すると、などのn > x最小の正の整数を出力yし(y * y) mod n = xます。この質問の重要な部分は、ブルートフォースソリューションを除外する、以下で指定される制限時間です。 そのような値がない場合y、コードは出力されますN。 テストケース (2, 5, N), (3, 5, N), (4, 5, 2), (524291, 1048583, N), (529533, 1048583, N), (534775, 1048583, 436853), (540017, 1048583, 73675), (536870913, 1073741827, 375394238), (542239622, 1073741827, 267746399), (547608331, 1073741827, N), (552977040, 1073741827, 104595351), (1099511627676, 1099511627791, N), (1099511627677, 1099511627791, 269691261521), …

22
n番目のベル番号を出力する
A ベル番号(OEIS A000110は)N標識された(別個の)要素のセットを分割する方法の数です。0番目のベル番号は1として定義されます。 いくつかの例を見てみましょう(パーティションのサブセットとブレースを示すために括弧を使用します): 1: {1} 2: {[1,2]}, {[1],[2]} 3: {[1,2,3]}, {[1,2],[3]}, {[1,3],[2]}, {[2,3],[1]}, {[1],[2],[3]} ベル番号を計算するには多くの方法があり、自由に使用できます。1つの方法をここで説明します。 ベル数を計算する最も簡単な方法は、二項係数にパスカルの三角形に似た数三角形を使用することです。ベル番号は、三角形の端に表示されます。1から開始して、三角形の各新しい行は、前の行の最後のエントリを最初のエントリとして、左の隣人と左上の隣人にそれぞれの新しいエントリを設定することによって構築されます。 1 1 2 2 3 5 5 7 10 15 15 20 27 37 52 0インデックスまたは1インデックスを使用できます。0インデックスを使用する場合、入力は3output 5である必要がありますが2、1インデックスを使用する場合は出力する必要があります。 プログラムは、15番目のベル番号まで動作し、を出力する必要があり1382958545ます。理論的には、プログラムはより大きな数を処理できる必要があります(つまり、ソリューションをハードコーディングしないでください)。 編集:三角法によって計算されないため、0(0インデックス付けの場合)または1(1インデックス付けの場合)の入力を処理する必要はありません。 テストケース(0インデックス付けを想定): 0 -> 1 (OPTIONAL) 1 -> 1 2 -> 2 3 -> 5 …
13 code-golf  math 

2
あなたの死をかわす!
前書き 「ムフハハハハ!」マッドサイエンティストは笑います。「あなたは私の小さなゲームに閉じ込められています!」 あなたの前には死の蛇の穴があり、あなたの後ろには底のない割れ目があります。抜け道はありません、あなたは立ち往生しています! 「あなたの前の2つのステップは蛇の穴であり、あなたの後ろの2つのステップは割れ目です。しかし!移動する前に、前後の一連のステップを書き留め、私にそれらを与えなければなりません。しかし! 「Mビット感じ悪を今日、私はあなたの代わりにすべてのステップを取ることができます、すべてのn番目のステップは、どこnあなたの配列の長さよりも小さいです! 今、賢明に選択してください。」 あなたの差し迫った死の前にあなたがとることができる最大のステップ数は何ですか? 仕事 上記のイントロは、最近、真実であることが証明されたエルドの不一致推測のひねりです(これについて詳しく知りたい場合は、James Grimeによるこのビデオを参照してください-私は彼からひねりの質問を「盗みました」)。 イントロへの答えは11手順ですが、私は証拠を詳しく説明しません。あなたと2つの「危険」との間の距離が3歩数である場合の答えは1160歩数ですが、それはまだ適切に検証されていません。 あなたの仕事は、あなたが達成できるステップの最長シーケンスを生成するプログラムを作成することですx。ここxで、あなたと2つの「危険」の間のステップ数です。プログラムはの入力を受け取り、xそのための有効なシーケンスを出力する必要がありますx。 この課題のために+、一歩前進を-表し、一歩後退を表します。 したがって、入力の出力2は次のとおりです。 +--+-++--++ nマッドサイエンティストが何を選んでも、それはうまくいきます。私たちの挑戦のために、x = 5。 注:このチャレンジは、このチャレンジやこのチャレンジのだまされたものではありません。私のチャレンジは、コードそのものではなく、出力に焦点を当てているためです。つまり、コードゴルフチャレンジではありません。それに加えて、これらの課題はに基づいx = 3ており、既に上限が設定されています。 ルール: プログラム全体が回答に収まるはずです。ただし、収まらない場合は、追加のGithubリポジトリなどを提供してください。 コードを最適化することでより良いスコアを取得できる場合は、回答とプログラムの両方を更新できますが、そうすることで、以下のリストのすべてを更新する必要があります。 あなたの答えでは、あなたが持っている必要があります: プログラム全体、またはコードをホストするGHリポジトリへのリンク 生成されるステップの量- これが最終スコアになります。 また、ペーストビンまたは類似のものでシーケンスのオンラインバージョンを提供する必要があります。これはあなたの答えを確認できるようにするためです。 最終スコアが最後に更新された時間なので、履歴を確認する必要はありません シーケンスを事前にハードコーディングすることはできません。 あなたのプログラムはすべてのために働く必要がありますx(ここでxあなたとピットとキャズムの間のステップ数です)が、あなただけのスコアを提供する必要がありますx = 5。 最大スコアの答えが勝ちます!

25
高調波シーケンスの部分和!
定義 数学では、調和シーケンスとは、次のシーケンスを指します。 つまり、シーケンスのn 番目の項はnの逆数に等しくなります。 前書き この課題では、入力として正の整数nが与えられ、調和シーケンスの最初のn項の部分和を出力します。 入力 (あなたの言語でサポートされている数値の範囲内で)正の整数が与えられます。チャレンジには正の整数のみが必要なため、SignedとUnsignedのいずれかになります(ユーザーによって異なります)。 入力は、事前定義された変数に存在すると想定する以外の方法で取得できます。ファイル、ターミナル、モーダルウィンドウ(prompt()JavaScript)などからの読み取りが許可されます。入力を関数の引数として使用することもできます。 出力 プログラムは、高調波シーケンスの最初のn項の合計を、有効数字5桁の精度のfloat(または出力が1で割り切れる場合は整数)として出力する必要があります(nは入力を参照)。数学の専門用語で同じことを伝えるには、計算する必要があります ここで、nは入力を指します。 出力を変数に書き込む以外の方法で出力できます。画面、端末、ファイル、モーダルウィンドウ(alert()JavaScript)などへの書き込みが許可されます。関数return値として出力することもできます。 追加の規則 入力番号は、0インデックスまたは1インデックスのいずれかです。投稿でそれを指定する必要があります。 組み込みを使用して、最初のn個の要素の部分和を計算しないでください。(ええ、あなたのためですMathematica!) 問題を平凡にするために、ネイティブの数値型を乱用してはなりません。 標準の抜け穴が適用されます。 テストケース テストケースでは、入力が1インデックスであると想定しています Input Output 1 1 2 1.5 3 1.8333 4 2.0833 5 2.2833 受賞基準 これはcode-golfなので、バイト単位の最短コードが勝ちです!

20
カウンターフィボナッチ数列
与えられた3つの数字は、mは、N及びPは、タスクは、長さのリスト/配列印刷することでpは始まるMとNの後に、各要素pはそれより2数の差を表し、MN(反フィボナッチ数列) このチャレンジでは、関数を使用して、結果またはプログラム全体を返すか印刷することができます。 入力 言語がサポートしているものは何でも、改行/スペース/コンマで区切られた3つの整数m、n、およびpですが、入力形式を指定する必要があります。コードの挿入は許可されていません。 出力 Counter-Fibonacciシーケンスに含まれる数値。次の形式のいずれか(この例:)m = 50, n = 40, p = 6: 50,40,10,30,-20,50 (またはコンマの後のスペースを使用) [50,40,10,30,-20,50] (またはコンマの後のスペースを使用) 50 40 10 30 -20 50(または\nスペースの代わりに(改行)を使用) {50,40,10,30,-20,50} (またはコンマの代わりにスペースを使用) 例 Input => Output 50,40,10 => 50,40,10,30,-20,50,-70,120,-190,310 -100,-90,7 => -100,-90,-10,-80,70,-150,220 250,10,8 => 250,10,240,-230,470,-700,1170,-1870 ルール pが1より大きいことが保証されます 可能であれば、プログラムをテストする方法を提供する必要があります 上記のように、この抜け穴は禁止されており、コードの挿入は許可されていないことに注意してください スコアリングとリーダーボード これはcode-golfなので、コードはできるだけ短くする必要があります。この課題は言語による最短回答を見つけることを目的としているため、回答は受け入れられません。 コードスニペットを表示 var QUESTION_ID=113051,OVERRIDE_USER=59487;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 …

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