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

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

3
最短のゴロム定規を見つける
ゴロム定規は、負の整数のセットであるため、セット内の整数の2つのペアが同じ距離だけ離れていることはありません。 たとえば[0, 1, 4, 6]、このセットの2つの整数間の距離はすべて一意であるため、Golombルーラーです。 0, 1 -> distance 1 0, 4 -> distance 4 0, 6 -> distance 6 1, 4 -> distance 3 1, 6 -> distance 5 4, 6 -> distance 2 (翻訳は自明であるので)この課題では単純化のために、我々は課すゴロム定規があること、常に番号が含まれています0(前の例がないもの)。 このセットは長さがあるので4、これはゴロムの秩序 支配者だと言い4ます。このセット(またはセット内に0常にあるため、要素)の最大距離はです6。したがって、これは長さの ゴロム定規であると言い6ます。 あなたのタスク 短い長さの(次 50を100含む)順序の Golomb定規を見つけるあなたが見つけることができるように。見つけたルーラーは最適である必要はありません(以下を参照)。 最適性 順序Nのゴロム定規は、他の順序のゴロム定規がない場合に最適であると言われていますNは、より短い長さの。 最適なゴロム定規は28未満の次数で知られていますが、次数が増えるにつれて最適性を見つけて証明することはますます難しくなります。 したがって、次の注文のいずれかに対して最適なゴロム定規を見つけることは期待されていません 50と100(あなたは、彼らが最適であることを証明できることを期待し、さらに少ないです)。 プログラムの実行に時間制限はありません。 ベースライン …

25
次の素数を見つけるプログラム
イントロ: タイムマシンであることが判明した、楽しみのために作成したデバイスで、誤って時間の流れを破損しました。その結果、あなたは遠い未来に押しやられました。コンピューティング、処理能力、およびコンピューター全般が膨大な量、正確には無限の量で進化していることに気づきました。したがって、無限のメモリと処理能力を備えたコンピューターを手に入れることができます。無限のメモリと無限の処理能力を持つ方法がわかりませんが、それを受け入れて現在に戻ります。 チャレンジ: 現在最大の素数を発見した人は 2^74,207,281 − 1 100.000ドルを支払っ。コンピューターに費やしたお金を取り戻したいので、次の素数を見つけるプログラムを作成することにします。数値を入力し、ブルートフォースまたは他の方法で次の素数を見つけるものを作成します。 明確化: 無限のメモリと処理能力を持つ仮想マシンがあります。プログラムを制限してはいけません(例:C#のintはから-2,147,483,648に保存できます)2,147,483,647)、よくあなたのプログラムは、ストア、および任意のサイズの任意の数で動作する必要があります。無限のリソースがあるため、許可した場合にメモリが不足しても気にしないでください。 I / Oの例: 入力:22,338,618桁の現在発見されている素数。 出力:まさに次の素数 明らかに、物理マシンでの計算には膨大な時間がかかるため、動作することを証明する必要はありません。ただし、プログラムを無限の処理能力/メモリを備えた仮想マシンに移動した場合、即座に計算されるはずです。 次の素数を見つけ、数が素数であるかどうかを確認することは、2つのまったく異なることです。
15 code-golf  math  primes 

16
ウィルソンスコア間隔を計算する
ウィルソンスコア間隔はベルヌーイ試験(:ベルヌーイの試験は、正確に2つの結果が可能である、裁判での集合における成功の割合に基づいて、成功確率の信頼区間である成功または失敗)。間隔は次の式で与えられます。 式によって与えられる2つの値は、間隔の上限と下限です。n Sとn Fはそれぞれ成功と失敗の数であり、nは試行の総数です(n S + n Fに相当)。zは、必要な信頼レベルに依存するパラメーターです。このチャレンジのために、z = 1.96が使用されます(95%の信頼区間に対応)1。 非負の整数n Sおよびn Fを指定すると、ウィルソンスコア間隔の境界が出力されます。 ルール 出力は、浮動小数点演算の不正確さによる潜在的な問題を無視して、言語の浮動小数点実装の制限内で、真の値に対して可能な限り正確でなければなりません。ご使用の言語が任意精度の演算に対応している場合、少なくともIEEE 754の倍精度演算と同じ精度でなければなりません。 入力は言語のネイティブ整数型の表現可能な範囲内にあり、出力は言語のネイティブ浮動小数点型の表現可能な範囲内にあります。 nは常に正です。 出力の順序は重要ではありません。 テストケース フォーマット: n_s, n_f => lower, upper 0, 1 => 0.0, 0.7934567085261071 1, 0 => 0.20654329147389294, 1.0 1, 1 => 0.09452865480086611, 0.905471345199134 1, 10 => 0.016231752262825982, 0.3773646254862038 10, 1 => 0.6226353745137962, …

16
関係が推移的かどうかを判別
チャレンジの説明 いくつかの定義から始めましょう: 関係は、要素の順序対の集合である(この課題では、我々は整数を使用することがあります) たとえば[(1, 2), (5, 1), (-9, 12), (0, 0), (3, 2)]、関係です。 関係は、要素の任意の2つのペアに対して推移的と呼ばれ(a, b)、(b, c)この関係で、ペアが(a, c)また存在し、 [(1, 2), (2, 4), (6, 5), (1, 4)]それが含まれているため、推移的である(1, 2)と(2, 4)、しかし、(1, 4)同様に、 [(7, 8), (9, 10), (15, -5)]任意の二つのペアが存在しないため、推移的であり (a, b)、(c, d)本ようb=cです。 [(5, 9), (9, 54), (0, 0)]は推移的では(5, 9)あり(9, 54)ません。(5, 54) 整数のペアのリストを指定して、関係が推移的かどうかを判断します。 入出力 合理的な形式の整数のペアのリストが提供されます。関係を考える [(1, …

23
多項式上の点での変化率を見つける
多項式とx座標の方程式が与えられると、曲線上のそのx座標でのポイントの変化率を求めます。 多項式の形式は次のとおりです:ax n + ax n-1 + ... + ax 1 + a、ここでa ϵ Qおよびn ϵW。このチャレンジの場合、n xがない特別なケース(定数)に対処する。 そのx座標での変化率を見つけるには、多項式の導関数を取得し、x座標にプラグインします。 入力 多項式は任意の合理的な形式で使用できますが、その形式が明示的に何であるかを述べる必要があります。たとえば、フォームの配列[..[coefficient, exponent]..]は受け入れ可能です。 出力 指定されたx座標でのポイントの変化率。 これはcode-golfなので、バイト単位の最短コードが優先されます。 例 [[4, 3], [-2, 4], [5, 10]] 19 -> 16134384838410 [[0, 4]] 400 -> 0 [[4, 0], [5,1]] -13 -> 5 [[4.14, 4], [48, 2]] -3 …

22
それほど多くない数の除算
正の整数を取り込みプログラムや関数を書いてa、bそしてc、およびプリントやリターンa/bにcあなたはそのすべてを使用することができます。正の整数に* /%[追加、減算、乗算、除算、モジュレート] - +演算を使用して、小数点以下の桁数ご使用の言語では許可されていますが、浮動小数点数では許可されていません。a、b、cの範囲は、言語の符号なし整数に許可される範囲です。数値の結果は、印刷する最後の桁に切り捨てられます(そのためno round)。 これは、言語に整数型(フロートのみ)がない場合、これらの浮動小数点数を正の整数としてのみ使用して参加できることを意味します。この演習の手掛かりは、[符号なし]整数の演算+-* /%のみを使用して、浮動小数点除算の桁を見つける関数を作成することです。 例 print(1,2,1) 印刷します 0.5 print(1,2,2) 印刷します 0.50 print(13,7,27) 印刷します 1.857142857142857142857142857 print(2,3,1) 印刷します 0.6 print(4,5,7) 印刷します 0.8000000 print(4,5,1) 印刷します 0.8 print(9999,23,1) 印刷します 434.7 print(12345613,2321,89) 言語に32ビットの符号なしが含まれている場合に印刷されます 5319.09220163722533390779836277466609220163722533390779836277466609220163722533390779836277466 バイト単位の最短コードが優先されます。これがはっきりしないように見える場合は申し訳ありません...私も言語を知らない、言葉をよく覚えていません... Ideone.comまたは他の場所へのリンクを1つ用意して、特に提案とは異なる入力をテストします。

10
目に見える建物
このパズルは、CodinGame SamSiの「Heart of the City」パズルから派生しています。 説明 n* nタイルの街を散歩し、中央のタイルに移動することにしました。すべての建物は無限に小さくなっていますが、スーパービジョンがあり、すべてを間近に見ることができます。 制約 n いつも奇妙です 別の建物に直接遮られていない建物を見ることができます 仕事 各建物をでマークし*ます。建物は、まったく同じ視線上の別の建物に遮られていない場合にのみ表示されます。 つまり、@が原点である場合、建物は、x座標とy座標が互いに素である場合にのみ表示されます。 入力と出力の例 入力: 7 出力: ** ** * * * * ******* *@* ******* * * * * ** ** *は目に見える建物で あり、目に見えない建物であり @、あなたがいる場所です。 得点 これはcode-golfであるため、バイト数が最も少ない答えが勝つことを忘れないでください。 var QUESTION_ID=91394,OVERRIDE_USER=59057;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 getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var …

5
差分ピラミッドを視覚化する
差分ピラミッドは、新しい対角線が最後の対角線の要素間の差の絶対値であるピラミッドです。たとえば、配列で始まる場合 2 5 4 9 3 4 次に、これらを対角列に配置します。 2 5 4 9 3 4 次に、次の対角線を塗りつぶします。この配列の連続する要素間の絶対的な違いは次のとおりです。 3 1 5 6 1 それが次の対角線です。 2 3 5 1 4 5 9 6 3 1 4 ピラミッドが塗りつぶされるまで繰り返します。 2 3 5 2 1 4 2 4 5 9 1 3 1 6 3 0 1 …

14
指数生成関数がタンジェントであるシーケンスをゴルフ
ほとんどすべての関数は、無限の項を持つ多項式として表現できます。 例えば、 e^x = 1 + x + x^2/2! + x^3/3! + x^4/4! + ... 例えば、 sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ... n-番目の項の係数はシーケンスを形成し、対応する関数は生成関数と呼ばれますシーケンスのます。 n-th項の係数はシーケンスを形成します。 多くの場合、n-th項にはの分母がありn!ます。したがって、係数を乗算してn!、指数生成関数が元の関数になる別のシーケンスを取得します。 たとえば、指数関数を生成するシーケンスは次のe^xようになります。1,1,1,1,...。 たとえば、指数関数を生成するシーケンスは次のsin(x)ようになります。0,1,0,-1,0,1,0,-1,...。 仕事 あなたの仕事はn、指数生成関数がtan(x)。 テストケース n result 0 0 1 1 2 0 3 2 4 0 5 16 6 …

12
キューブ距離のラビニティ数
この Numberphileエントリに触発された バックグラウンド 整数nの立方体距離数は、ここで、与えられたxに対してx³距離離れた整数のセットとして定義されます。簡単な例では、とと、キューブの距離番号があります。n=100x=2{92,108} これは、単にxを変更するだけで、より大きなセットに拡張できます。x ∈ {1,2,3,4}同じとn=100、我々は結果セットを持っています{36,73,92,99,101,108,127,164}。 レッツは、定義CD(N、X)を、全ての整数の集合としてn ± z³持ちますz ∈ {1,2,3,...,x}。 これで、これらの立方体距離番号の特別なプロパティに注目できます。数値が持つことができる多くの特別なプロパティのうち、ここで興味のある2つのプロパティはprimalityとprime divisorsです。 上記の例CD(100,4)の場合、73, 101, 127すべて素であることに注意してください。セットからこれらを削除すると、が残ります{36,92,99,108,164}。これらの数のすべての素数は(順番に){2,2,3,3,2,2,23,3,3,11,2,2,3,3,3,2,2,41}です。つまり、5つの異なる素数があり{2,3,23,11,41}ます。そこでことを定義することができますCD(100,4)がありravenity 1のを5。 ここでの課題は、特定の入力のラビニティを出力する関数またはプログラムを最小バイトで記述することです。 入力 任意の便利な形式の2つの正の整数、nおよびx。 出力 CD(n、x)を使用して計算された場合、2つの入力数値のラベニティを記述する単一の整数。 ルール 入力/出力は、適切な方法で行うことができます。 標準的な抜け穴の制限が適用されます。 計算を簡単にするために、入力データは、CD(n、x)がセット内で正の数のみを持つ(つまり、CD(n、x)が負の数またはゼロを持つことはない)と想定できます。 関数またはプログラムはn + x³、言語のネイティブ整数データ型に適合するように入力番号を処理できる必要があります。たとえば、32ビットの符号付き整数型の場合、すべての入力数値n + x³ < 2147483648が可能です。 例 n,x - output 2,1 - 0 (since CD(2,1)={1,3}, distinct prime divisors={}, ravenity=0) 5,1 - 2 …

5
外部からどのくらい離れていますか?
中心が整数間隔で配置された軸に沿った単位正方形要素に分割された2D領域を取ります。エッジは、2つの要素で共有される場合は内部エッジと呼ばれ、それ以外の場合は外部エッジと呼ばれます。 あなたの目標は、として知られている各要素の中心から出発外縁に到達するために横断しなければならない隣接要素の最小数を見つけることであるtraversal distance、またはdistance略しています。エッジのみを横断できます(つまり、コーナーカット/斜め移動はできません)。「外部要素」(少なくとも1つの外部エッジを持つ要素)は0、外部エッジに到達するために隣接する要素を横断する必要があると見なされることに注意してください。 入力 入力は、すべての要素の中心の(x、y)を示す非負の整数ペア座標のリストです。重複する要素はないと想定されます(つまり、x / yペアが要素を一意に識別します)。要素の入力順序について何も想定してはいけません。 入力の原点を任意の場所(0、0、1、1など)に変換できます。 すべての入力要素が接続されていると仮定できます。つまり、上記の規則を使用して、任意の要素から他の要素に移動することが可能です。これは、2D領域が単に接続されているという意味ではないことに注意してください。内部に穴がある場合があります。 例:次は無効な入力です。 0,0 2,0 エラーチェックは不要です。 入力は、任意のソース(ファイル、stdio、関数パラメーターなど)からのものです。 出力 出力は、各要素を識別する座標のリストと、エッジに到達するために通過した対応する整数距離である必要があります。出力は、任意の要素の順序にすることができます(たとえば、入力として受け取ったのと同じ順序で要素を出力する必要はありません)。 出力は、任意のソース(ファイル、stdio、関数の戻り値など)に対するものです。 要素の座標を外部距離と一致させる出力はすべて問題ありません。たとえば、これらはすべて問題ありません。 x,y: distance ... [((x,y), distance), ...] [(x,y,distance), ...] 例 テキスト入力例の形式はx,y、1行に1つの要素があります。これを便利な入力形式に変更してください(入力形式の規則を参照)。 テキスト例の出力は、x,y: distance行ごとに1つの要素を持つ形式です。繰り返しになりますが、これを便利な出力形式に変更してください(出力形式の規則を参照)。 グラフィカルな図の左下の境界は(0,0)であり、内部の数字は、外側の端に到達するために予想される最小距離を表します。これらの図は純粋にデモンストレーションのみを目的としていることに注意してください。プログラムはこれらを出力する必要はありません。 例1 入力: 1,0 3,0 0,1 1,2 1,1 2,1 4,3 3,1 2,2 2,3 3,2 3,3 出力: 1,0: 0 3,0: 0 …

1
同色の算術級数
ファンデルワーデンの定理によると 与えられた正の整数rとkに対してN、整数{1, 2, ..., N}がそれぞれr 異なる色のいずれかで色付けされている場合、kすべて同じ色の算術級数で少なくとも整数があるような数があります。最小のものNは、ファン・デル・ワーデン数W(r, k)です。 あなたの目標は、W(r, k)正の整数入力rとを与えられたファンデルワーデン数を計算することkです。少ないバイトが勝ちます。 この関数は非常に急速に成長し、計算に時間がかかることに注意してください。でもW(4, 4)不明です。無制限のリソース(時間、メモリ、スタックの深さなど)を備えた理想的なコンピューターでコードを実行すると想定できます。あなたのコードは理論的には答えが分からない値に対しても正しい答えを与えなければなりません。 この関数を計算する組み込み関数は許可されていません。 例 ためのr = 2色と長さの進行k = 3、長さ-が存在する8ような進行を回避する配列、すなわち3同じ色の等間隔の要素: B R R B B R R B しかし、そのような長さの9シーケンスはありませんW(2, 3) == 9。例えば、 R B B R B R R B R ^ ^ ^ 表示されている長さ3と同色の算術級数が含まれています。 テストケース おそらく、小さなケースのみをテストできます。 +-----+-----+-----+-----+-----+-----+------+ | | k=1 | …

3
フィボナッチの六十進法
レオナルドダピサーノ(別名フィボナッチ)は、ヒンドゥーアラビア数字システムをヨーロッパに持ち込むことに貢献しました。その前に、そこの数学者はローマ数字で60を底に働いた。 たとえば、2の平方根は次のように概算できます:60分の1から24の部分、360分の51の部分、およびi xxiv liとして記述されます。スケーリングはコンテキストによって決定されます。当時、「無」は知られていました(つまりゼロ)が、この数体系には標準的な表現がありませんでした。 フィボナッチが旅行中に出会ったこれらの新しい小数の数字を無視していたなら、彼は確かに現在のシステムの欠陥に対処していたでしょう。この改善されたシステムを、フィボナッチの六十進数と呼びます。 あなたの仕事は、ASCII形式またはバイナリ形式の浮動小数点数を取り、60を基数とするローマ数字で出力するプログラム、関数、またはコードスニペットを記述することです。入力はファイル、コンソール、コマンドライン、または関数の引数であり、出力はファイルまたはコンソールのいずれか最も簡単なものです。 出力は大文字でも小文字でもかまいませんが、これらの改善を含める必要があります。 nまたはNを使用して、場所に値がない、つまり「ゼロ」(システムの問題)を意味するnullを示します。 eまたはEを使用して、六十進点に対応するetを示します(システムの別の問題) 中央のドット・またはアスタリスク*を使用して、ローマ数字のグループを区切ります(システムの別の問題) 入力がlix・lix・lix・lix・lix以下の仮数を持つ浮動小数点になると仮定します。n・e・n・n・n・n・i未満の分数は無視できます。したがって、入力にこれらの制限がある場合、1つのeを持つローマ数字のグループを最大10個出力できます。 コンテキストが明確になるように、iより小さい数字には先頭にn・eが必要です。 いくつかの例:input→ 出力 0→ n 1→ i 60→ i・n 0.1→ n・e・vi 3600→ i・n・n 10.5→ x・e・xxx 16777215→ i・xvii・xl・xx・xv 3.1415926536→ iii・e・viii・xxix・xliv・n・xlvii 出力では、仮数部の不要な先行n・、孤立e、または出力の小数部の末尾・nを避ける必要があります。そのため、たとえば、n・n・n・n・i、i・e、およびi・e・n・n・n・n・nは、の入力に対して誤った出力です1。 出力のプラスまたはマイナスn・e・n・n・n・n・iの差は許容範囲内で許容範囲内です。 入力は、選択した言語の正当な浮動小数点であるため、入力が上記で指定した範囲外にない限り、正または負の指数を含めることができます。 そして最後に、ローマ数字の組み込みが許可されています!

3
スタックベースの言語をトークン化する
私は、に取り組んできた別のと呼ばれるスタックベースのゴルフの言語Stackgoat。この課題では、Stackgoat(または実際には一般的なスタックベースの言語)のTokenizerを作成します。 例 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字はa で始まり、その後の'文字は文字列リテラルに変換されます。'a->"a" ' 常にその後に文字があります 終値を自動挿入する必要があります ルール: の形式evalは許可されません 入出力: 入力は、STDIN、関数パラメーター、または同等の言語を通じて取得できます。 出力は、配列または言語に最も近いものでなければなりません。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

1
チェーンルールを実行する
差別化と統合には多くの課題がありましたが、関連する料金の問題を解決することには何もありませんでした。そのため、この課題では、多数の導関数(変数ではなく数値)を取得し、別の導関数を見つける必要があります。 入力は、改行で区切られた方程式のリストになりますdx/dt = 4。小数と負数があります。 入力は、あなたが見つけなければならない一つの微分で終わります。あなたは常にそれを見つけるのに十分な情報があると仮定できますが、過剰な情報もあるかもしれません。 また、逆関数の導関数を考慮する必要がある場合がありdy/dx = 3ますdx/dy = 1/3。たとえば、もしあれば、それも知っています。 出力はの形式になりdy/dt = 6ます。すべての空白などは同じでなければなりません。すべての変数は常に1文字であると想定します(大文字でも、大文字でもかまいませんd)。 これはcode-golfなので、バイト単位の最短コードが勝ちです! テストケース dy/dx = 4 dx/dt = 5 dy/dt answer: dy/dt = 20 dy/dx = -3 dt/dx = 3 dy/dt answer: dy/dt = -1 dA/dt = 4 dA/dC = 2 dC/dr = 6.28 dr/dt answer: dr/dt = …

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