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

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

3
物理ゴルフ:傾斜射撃
「そして今、何かのために、完全に異なる。」 怒っている鳥は、高速Uで水平に角度βで撮影されます。地面は急で、角度αで傾斜しています。鳥が地面にぶつかる前に移動した水平距離qを見つけます。 長さqを返す関数f(α、β、u)を作成します。鳥が地面に着く前に移動した水平距離です。 制約と注意: -90 <α<90。 0 <β<180。 αは常にβよりも小さい。 0 <= u <10 ^ 9。 重力g = 10による加速を想定します。 α、βには度の代わりにラジアンを使用できます。 uの次元は、gおよびqと一致している限り、無関係です。 空気抵抗がないか、または豪華すぎるものはありません。 最短のコードが勝ちます。 いくつかの方程式については、発射体の動きに関するウィキペディアの記事を参照してください。 サンプル: f(0, 45, 10) = 10 f(0, 90, 100) = 0 f(26.565, 45, 10) = 5 f(26.565, 135, 10) = 15
9 code-golf  math 

11
オリンピック得点[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 8か月前に閉鎖。 課題は、0から10までのn個の正の実数が与えられたゴルフコードプログラムを作成することです(形式xy、yは0または5のみです:0、0.5、1、1.5、2、2.5…9.5および10)。一部のオリンピックのスコアリングと同様に、最低値と最高値を破棄し(繰り返されても1つだけ)、残りの平均をxy形式で表示します(yは0または5に丸めることができます)。 例:入力->出力 6-> 6 6.5、9-> 8 9、7、8-> 8 6、5、7、8、9-> 7 5、6.5、9、8、7-> 7 6.5、6.5、9.5、8、7-> 7 5、6.5、7.5、8.5、9.5-> 7.5 注:入力が2つの数値のみの場合は、何も破棄せず、それらを平均してください。入力が1つの数値の場合、出力は同じです。 丸め規則の明確化(すみません、少し混乱します): x.01〜x.25 x.0に丸めます x.26からx.75に丸めてx.5に x.76〜x.99をx + 1.0に丸める

1
パーティションと再構築
同じ領域の2つの隣接する形状が与えられた場合、最初の形状を最小数の隣接するセグメントに分割して、それらを再配置して2番目の形状を形成できるようにする最適な方法を決定します。つまり、両方の形状を形成できる、必要な最小数のセグメントを見つけます。 「隣接」とは、形状を構成するすべての正方形が、他の正方形から端を横切ることで到達できることを意味します。形状とセグメントに穴を開けることができます。 「再配置」とは、セグメントを移動することを意味します。それらを平行移動、回転、反映することができます。 形状はグリッドに含まれています。つまり、各形状は、コーナー/エッジで結合された単位正方形のコレクションで構成されます。 入力仕様 入力は、いくつかの合理的な形式で提供されます-ポイントのリスト、各グリッドを表す文字列の配列など。要求された場合は、グリッドのサイズを取得することもできます。グリッドの寸法は同じになり、2つの形状は同じ面積になることが保証され、面積は正になります。 出力仕様 出力は単一の正の整数でなければなりません。最悪の場合のシナリオでは、形状をN単位正方形に分割するだけなので、常に肯定的な回答が得られることに注意してください。 例 例は.、空白を#表し、形状の一部を表すグリッドとして表示されます。 事例1 入力 ..... .###. .#.#. .###. ..... ###.. ..#.. ..#.. ..### ..... 出力 2 説明 4つのL字型ブロックに分割できます。 # ### 事例2 入力 #... ##.. .#.. .##. .##. #### .... .... 出力 2 説明 次のように形状を分割できます: A... AA.. .A. .BB. .AA. BBAA .... .... …

26
数字は友好的ですか?
2つの数値は、最初の数値の適切な除数合計が2番目の数値と同じで、2番目の数値の適切な除数合計が最初の数値と等しく、最初と2番目の数値が等しくない場合、友好的と見なされます。 S(x)の適切な約数和であると定義しましょうx。220と284は、友好的な理由はあるS(220) = 284とS(284) = 200。 あなたの仕事は、当然のことながら、入力された2つの数値が友好的かどうかを判断することです。入力は正の整数であり、友好的かどうかの2つの異なる一貫した値を出力できます。 これはOEISシーケンスA259180です これはコードゴルフなので、最短のコードが優先されます。 テストケース input, input => output 220, 284 => 1 52, 100 => 0 10744, 10856 => 1 174292, 2345 => 0 100, 117 => 0 6, 11 => 0 495, 495 => 0 6, 6 => 0

1
分数フレンジー!
編集:私はこれが終了しないことについて多くのコメントを受け取っています-私は私に与えた最初の人にFF(3)(正しい答えでそれを提供するように)「正解」タグを与えるか、それFF(3)が本当に無期限に爆破することを証明します。 仕事: あなたの仕事はFF(n)、正の整数を与えられた分数フレンジー関数()の逆数のリストを生成する可能な限り最小のプログラムを作ることnです。 前書き: FF関数を紹介する前に、まずエジプトの分数について説明する必要があります。 エジプトの分数: エジプトの分数は、分数を個別の単位分数の合計として表す方法5/8です1/2 + 1/8。したがって、分数を表す1つの方法はです。それは他の分数の合計ではありません 1/4 + 1/4 + 1/8 1/2 + 1/16 + 1/16 すべての分数が異なるわけではないためです(1/4最初の例と1/162番目の例で繰り返されます)。 エジプトの分数の定義では、単位分数にも負の分母の使用を含めています。 FF関数: FF(Fraction Frenzy)関数は次のように記述されます: FF(1)エジプトの分数1/2 + 1/3 + 1/5 + 1/-30です。 FF(2)FF(1)単独で「乗算」に等しい(FF(1)「二乗」): (1/2 + 1/3 + 1/5 + 1/-30)(1/2 + 1/3 + 1/5 + 1/-30) = 1/4 + 1/6 + …

11
二面体グループケイリーテーブル
二面体群D3D3D_3(で表される同一用い、正三角形の対称性を表すid)、(で表される回転r1とをr2)、そして反射が(で表されるs0、s1とs2)。 あなたの仕事は、要素の構成を計算すること。それらは、以下のCayleyテーブルによって与えられます。yバツyバツyxx 、y∈ D3バツ、y∈D3x, y \in D_3 x id r1 r2 s0 s1 s2 y +----------------------- id | id r1 r2 s0 s1 s2 r1 | r1 r2 id s1 s2 s0 r2 | r2 id r1 s2 s0 s1 s0 | s0 s2 s1 id r2 r1 s1 | …
8 code-golf  math 

12
折れ線グラフ/共役グラフを作成する
前書き 無向グラフGが与えられると、Gのエッジ間の接続を表すグラフL(G)(線グラフまたは共役グラフと呼ばれます)を構築できます。これは、 Gおよびそれらが表すエッジに共通の頂点がある場合、これらの頂点を接続します。 これは、折れ線グラフ(緑)の作成を示すWikipediaの例です。 別の例として、頂点A、B、C、およびDを持つこのグラフGを取り上げます。 A | | B---C---D---E Gの各エッジに新しい頂点を作成します。この場合、AとCの間のエッジはACと呼ばれる新しい頂点で表されます。 AC BC CD DE また、頂点が表すエッジに共通の頂点がある場合は、頂点を接続します。この場合、AからCへのエッジとBからCへのエッジは頂点Cが共通なので、頂点ACとBCが接続されます。 AC / \ BC--CD--DE この新しいグラフは、Gの折れ線グラフです。 詳細については、Wikipediaを参照してください。 チャレンジ グラフGの隣接リストが与えられた場合、プログラムは線グラフL(G)の隣接リストを出力または返す必要があります。これはコードゴルフなので、バイト数が最も少ない答えが勝ちます! 入力 Gのエッジを表す文字列のペアのリスト。各ペアは、そのエッジによって接続されている頂点を示します。 各ペア(X、Y)は一意であることが保証されています。つまり、リストには(Y、X)または2番目の(X、Y)は含まれません。 例えば: [("1","2"),("1","3"),("1","4"),("2","5"),("3","4"),("4","5")] [("D","E"),("C","D"),("B","C"),("A","C")] 出力 L(G)のエッジを表す文字列のペアのリスト。各ペアは、そのエッジによって接続されている頂点を表します。 各ペア(X、Y)は一意である必要があります。つまり、リストには(Y、X)または2番目の(X、Y)は含まれません。 Gのエッジ(X、Y)の場合、L(G)で作成される頂点の名前はXYにする必要があります(名前は、入力で指定されたのと同じ順序で連結されます)。 例えば: [("12","13"),("12","14"),("12","25"),("13","14"),("13","34"),("14","34"),("14","45"),("25","45"),("34","45")] [("DE","CD"),("CD","CB"),("CD","CA"),("BC","AB")] テストケース [] -> [] [("0","1")] -> [] [("0","1"),("1","2")] -> [("01","12")] [("a","b"),("b","c"),("c","a")] -> [("ab","bc"),("bc","ca"),("ca","ab")] [("1","2"),("1","3"),("1","4"),("2","5"),("3","4"),("4","5")] …

2
整数除算ループ
チャレンジ あなたの言語でサポートされている正の整数を考える: 入力を受け取り、それを2つに分割します。このプログラムのすべての除算で、入力が奇数の場合、半分を切り上げ、半分を切り捨てます(例:7 -> 3,4でなく7 -> 3.5,3.5)。 いずれかの数を半分に割り、次にこれら2つの新しい半分の大きい方を取り、分割されなかった数に戻します。例:3,4 -> (1,2),4 -> 1,6または3,4 -> 3,(2,2) -> 5,2。 前に見たセットに到達するまで、手順2を繰り返します。例:5 -> 3,2 -> (1,2),2 -> 1,4 -> 1,(2,2) -> 3,2。3,2以前に見たので、繰り返すのをやめるかもしれません。これを実行する過程で、スタックを完全に使い果たす可能性があります。例:5 -> 3,2 -> (1,2),2 -> 1,4 -> (0,1),4 -> 0,5。 ループ内の各ペアを出力します(つまり、ペアの最初の出現から2番目までの、中間ステップなしの上記の2番目は含まれません)。例:3,2 -> 1,4。入力が含まれている場合は、それを出力しないでください0- 5 -> 3,2 -> 1,4ではなく0,5 -> 3,2 -> 1,4。 ペアを別々に分割して、手順1〜4を繰り返します。 …

6
n-ジャグラーを作る
プロパティに従うシーケンスに本当に興味があります a (n + 1 )= a (n − a (n ))a(ん+1)=a(ん−a(ん))a(n+1) = a(n - a(n)) 最近、これらのシーケンスに関する別の質問があります。特に、整数から自然数までのシーケンスに関係しています。 上記のプロパティを持つ周期的なシーケンスは、n 個の異なる値が含まれている場合に限り、n -Juggler です。たとえば、次のシーケンスは2ジャグラーです。 ... 2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1,2,2,1 ... 数字1とのみが含まれているため2です。 3つのジャグラーの例は ... 3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5,3,5,3,5,1,5 ... それはjugglesので1、3、と5。 仕事 所与のn> 1の入力、出力任意としてN -Juggler。 シーケンスはさまざまな方法で出力できます。 インデックスを付ける関数を出力します。 インデックスの追加入力を受け取り、そのインデックスの値を出力します。 指定されたプロパティでシーケンスを一意に決定するシーケンスの連続したサブセクションを出力します。 これはコードゴルフなので、回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。

6
明確なリバーシブルプリミティブバイナリネックレス
はじめに-ネックレスとは? ネックレスはOEISの人々が夢中になっているものです。OEISチャレンジには、ネックレスのシーケンスが5つあります。 長さのバイナリネックレスは、またはnであるnビーズのループです。2つのネックレスは、一方を回転させてもう一方にすることができれば同じです。2つのリバーシブルネックレスは、一方を回転、反転、または反転して回転させてもう一方にすることができる場合は同じです。01 プリミティブネックレスは、一連のビーズのチェーンの複数のコピーとして表現できないネックレスです。ネックレスがプリミティブでないと見なされるためには、コピーがすべて同じ順序で(逆転なしで)組み立てられる必要があることに注意してください。 たとえば、このネックレスを見てみましょう0 1 1 0 1 1。0 1 12回繰り返されていると表現できるため、プリミティブではありません。0 1 0 1 1原始的です。 0 1 1 0同じ文字列0 1と1 0は見なされないため、プリミティブです。このネックレスは、1 1 0 0左に1つのビーズを回転させてこのネックレスにすることができるため、同等ですが、0 1 0 1(プリミティブではありませんが)同等ではありません。 チャレンジ 負でない整数を指定するとn、長さが異なる可逆的なプリミティブバイナリネックレスの数を返しnます。それぞれ単一の整数として入力および出力します。 このシーケンスの最初の数項は1, 2, 1, 2, 3, 6, 8, 16, 24, 42, 69, 124, 208, 378, 668, 1214, 2220, 41100インデックスです。 これはOEIS A001371です …

1
(できます)これを実現するために括弧を追加します
私はこの最近の不可解な質問を見ました: 括弧を追加してこれを実現します そして、1つの答えがPythonスクリプトを使用してすべての可能性を試すことがわかりました。 式(文字列として)と整数を指定すると、括弧を追加して式を整数にできるかどうかを判断できるプログラムを作成することが課題になります。 たとえば、式が1 + 2 * 3で整数がである場合、9に等しいの9ような括弧を追加できる(1 + 2) * 3ため、出力は真実である必要があります。ただし、式が1 + 2 - 3 * 4 / 5で整数がの9999999999999場合、括弧を追加してそれを等しくすることはできない9999999999999ため、出力は誤ったものになります。 整数の入力は正または負の場合がありますが、式には正の整数のみが含まれることに注意してください。実際、式は常に一致します(\d+ [+*/-] )+ \d(正規表現)。言い換えれば、ちょうどなし括弧、ノー指数、+、-、*と/。標準の演算子の順序(*and /、then +および-)。 その他のテストケース: 1 + 2 - 3 * 4 / 9 and -1 -> truthy, ((1 + 2) - (3 * 4)) / 9 …

3
対称多項式を検出する[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 対称多項式は、その変数の置換の下で変化しない多項式です。 言い換えれば、多項式f(x,y)は、次の場合にのみ対称ですf(x,y) = f(y,x)。多項式g(x,y,z)は対称iff g(x,y,z) = g(x,z,y) = g(y,x,z) = etcです。 たとえばx^2+2xy+y^2、xyとx^3+x^2y+xy^2+y^3は対称多項式ですが2x+y、とx^2+yはそうではありません。 チャレンジ 多項式が与えられ、与えられた多項式が対称多項式であるかどうかに応じて、プログラムは真偽値を出力します。 入力形式は2つの方法で使用できます。文字列とのような配列。["x^2","2xy","y^2"]ここで、多項式は各要素の合計です。 例 x^2+2xy+y^2 => true xy => true xy+yz+xz-3xyz => true (x+y)(x-y) => false 2x+y => false x^2+y => false x+2y+3 => false スペック 演算には、通常の数学と同じように次数があります。順序は次のとおりです。 () => ^ => * => +- コードゴルフのルールが適用されます。 …

2
長方形が長方形のスペースを隙間や重なりなしに埋めているかどうかを確認します
この課題は、別の同様の課題に基づいています。長方形の最も効率的なパッキングを見つけることはNP困難であるため(つまり、その解決策は簡単に確認できるが見つけにくい)、この課題はここでの課題よりもはるかに簡単です。 この挑戦 長方形の束が与えられた場合、それらが長方形のスペースをギャップやオーバーラップなしで埋めるかどうかを把握します。 入力 入力には2つの形式があり、1つはスコアリングペナルティを伴います。 1つ目は、長さが4のサブリストのリストです。このリストには、反対の頂点の座標である4つの整数が含まれています。すべての長方形は水平/垂直になるため、長方形がどこにあるかについてのあいまいさはありません。各サブリストには、最初の頂点のx座標、最初の頂点のy座標、2番目の頂点のx座標、2番目の頂点のy座標の順に、4つの整数が含まれます。 2番目:同じ長さの整数の4つのリストが含まれます。4つのリストは異なる座標を表します。入力オプション1を行列と考えると、ここでの入力は行列の転置にすぎません。この入力には、+20%バイトのペナルティがあります。 出力 単純な真実/偽の出力。 仕様書 エリア0(つまりx1 == x2 || y1 == y2)の長方形がある場合は、この長方形を無視してください(そのため[0 0 1 1], [2 2 3 2]有効です)。この仕様は、人々が最小/最大x / y値を簡単に取得することを困難にするために用意されています。 x1 <= x2y1 <= y2常に正しいとは限りません。の場合x1 > x2 || y1 > y2、長方形は面積ゼロの長方形ではありません。むしろ、それは間の長方形の空間を占有(x1, y1)して(x2, y2)。 座標は負の値でもかまいませんが、その場合でも座標間のスペースを占めます。 左上の長方形は常にとは限りません(0, 0)。したがって、塗りつぶされる長方形のスペースの左上隅がであるとは限りません(0, 0)。 (これらのあいまいさを指摘してくれた@xnorに感謝) 入力方法と出力の表現方法を指定してください。 得点 スコアは、バイト単位のコードのサイズに、該当する場合はバイトのペナルティを加えたものです。12月15日の時点での最低スコアが勝利します。 テストケース 0 0 …

15
円の周りのn個の点を直線で結ぶことにより得られる領域の最大数
円の周りのn個の点を直線で結ぶことによって得られる軸の数の領域としてf(n)を定義しましょう。たとえば、次のように2つのポイントで円を2つに分割し、3つを4つに分割します。 線を描くときは、2つ以上の線の交点がないことを確認してください。 あなたのタスク 数値nを指定して、f(n)を出力します。 テストケース: n | f(n) ---+----- 1 | 1 2 | 2 3 | 4 4 | 8 5 | 16 6 | 31 7 | 57 8 | 99 9 | 163 あなたはここでもっと見ることができます。 組み込みシーケンスジェネレーターの使用は許可されていません。 これは コードゴルフなので、バイト数が最も少ないコードが優先されます。 数式が必要な場合は、次のとおりです。

8
Numpad Taxicabを計算する
クレジットは、クレジットが期限のある場所に移動します xとyの2桁を指定して、標準のテンキーでxからyに到達するための水平または垂直ジャンプの最短数を計算します。たとえば、 789 456 123 00 すべての入力が0〜9であると想定でき、無効な入力を処理する必要はありません。入力は、距離が0の同じ数値を2回使用できます。 IOは任意の適切な形式にすることができ、標準の抜け穴は禁止されています。バイト単位の最短の答えが勝ちます! サンプルIO: 1, 4: 1 1, 8: 3 3, 7: 4 8, 2: 2 6, 1: 3 0, 9: 4 4, 4: 0 0, 4: 2

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