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

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

4
不飽和度
不飽和度 これは特に難しいコードのパズルではありませんが、それを解決する複数の方法を見てみたいと思います。 不飽和度は、原子間の二重化学結合の数、および/または化合物の環の数です。 XaYbZc(a、b、cは化合物中のX、Y、Zの原子数)の形式で化合物の分子式が与えられます-式は任意の長さで、任意の化学元素を含むことができます周期表では(ただし、C、H、N、F、Cl、Br以外の元素は、式に含まれていないため無視されます)。化合物には、少なくとも1つの炭素原子が含まれます。不飽和度を計算して表示する必要があります。 たとえば、化合物ベンゼン(下図)は、3つの二重結合(原子間の二重線で表示)と単一の環(ループで接続された原子の数)があるため、DoUは4です。 LibreTextsで定義されているとおり: DoU =(2C + 2 + N − X − H)/ 2 どこ: C は炭素原子の数です N は窒素原子の数です X あるハロゲン原子の数(F、Cl、Br、I) H は水素原子の数です テストケース: C6H6 --> 4 C9H2O1 --> 0 C9H9N1O4 --> 6 U1Pt1 --> Not a valid input, no carbon Na2O1 --> Not a valid input, …

10
根を回転させる
整数係数と根が虚数と実数直線上にあり、if aが根である場合、そうであるような非ゼロの多項式が与えられた場合-a、根が90度回転した別の多項式を返します。 詳細 多項式は、たとえば係数のリストとして、任意の合理的な形式で指定できます。a根である場合に限り根となる対称条件は-a、回転した多項式にも実整数係数を強制します。 例 以下では、多項式は降順の単項式の係数のリストとして与えられます。(つまり、定数が最後になります)多項式にx^2-1は根があり{1,-1}ます。それらを回転さ90°せるには、i(虚数単位)を掛けることを意味するため、出力多項式にはが必要{i,-i}ですx^2 + 1。 Input / Output [1 0 10 0 -127 0 -460 0 576] [1 0 -10 0 -127 0 460 0 576] [1 0 -4 0] [1 0 4 0] [1] [1]

9
ELO評価の予想スコアを計算する
あなたの仕事は、あるゲームで2人のプレイヤーがそれぞれのELOレーティングで勝つと予想される確率を計算することです。プレーヤーAにはELO R aがあり、プレーヤーBにはELO R bがあります プレーヤーA(E a)の予想スコアは1 /(1 + 10 (R b -R a)/ 400)です。プレイヤーB(E b)にも同様の方程式があります:1 /(1 + 10 (R a -R b)/ 400)。 よりコピー可能なバージョンが必要な場合: 1 / (1 + 10^((a-b) / 400)) E a + E bは1に等しくなければなりません。 したがって、プレーヤーのスコアは、ある試合に勝つと予想される10進数のチャンスです。 プログラム/関数は、プレイヤーAのELOとプレイヤーBのELOの2つの入力を受け取り、それぞれのチャンスを10進形式で印刷/返します。出力は合計で1つでなければならず、少なくとも小数点以下5桁まで正確である必要があります(0.00000)。小数点以下5桁を超えると、2つの出力の合計が1になる場合、数字が不正確になる可能性があります。 例: 1200 2100 -> 0.005591967 0.994408033 1 1 -> 0.5 0.5 …
11 code-golf  math 

1
ベスが砂漠を脱出するのを手伝ってください
他の水を運ぶパズルと似ていますが、このチャレンジのユニークな側面はそれを完全に異なっています。 ベスは砂漠の真ん中のオアシスにあります。湖にはたくさんの水がありますが、残念ながら、バケツはX個しかなく、各バケツにはYリットルの水を入れることができます。 ベスは手に2個のバケツを持ち運ぶことができますが、生き残るためには、1キロ移動した後に正確に1リットル飲む必要があります。彼女はまた、いくつかのバケツを途中で残すことができます(水は蒸発しません)。 チャレンジ 式を計算し、XおよびYの正の整数値に対して機能する最短のソリューションを記述し、ベスがオアシスから移動できる最大距離を計算します。バケット間での水の移動は許可されています。 例 X = 3、Y = 5 Bethはオアシスから3KM離れたバケツを1つ残して戻ります(オアシスからの最後の飲み物を持ち帰ります) Bethは3KMのポイントに別の完全なバケットをもたらし、現在12Lを持っています。 ベスは6KMポイントに進み、4Lの水を入れたバケツを離れることができます。 3KMポイントに戻ります。彼女はオアシスに戻るためにちょうど2Lを持っています。 バケツを満たし、6KMポイントまで移動します。彼女は今8Lの水を持っています。 15KMポイントまでずっと進みます。 答えは:15 入出力 X / Yをコードで直接定義するか、入力から読み取ることができます。結果は、変数または出力のいずれか短い方に配置できます。

18
フィボナッチ指数
このチャレンジでは、いくつかの数値の合計の結果を出力します。これらの数字は何ですか?さて、あなたは(、入力が与えられa、b整数(正、負、またはゼロ)、である、) a != b、およびa < b、および内の各整数aおよびb(それらを含む)フィボナッチ数に応じて指数を持つことになります。わかりにくいので、例を示します。 Input: (-2, 2) Output: -2**1 + (-1**1) + 0**2 + 1**3 + 2**5 = -2 + -1 + 0 + 1 + 32 = 30 最初のフィボナッチ数がで表されるf(0)場合、式は次のとおりです。 a**f(0) + ... + b**f(b-a+1) 入力、処理、出力 上記を明確にするために、いくつかのテストケース、入力の処理、および予想される出力を以下に示します。 Input: (1, 2) Processing: 1**1 + 2**1 Output: 3 Input: (4, …

2
六角形座標:極座標からデカルト座標
ウィキペディアは極座標について述べています: 数学では、極座標系は2次元の座標系であり、平面上の各点は、基準点からの距離と基準方向からの角度によって決定されます。 これは、六角形のグリッドを記述するのに最適のようです。たとえば、次の六角形のグリッドを考えてみましょう。 A B C D E F G H I J K L M N O P Q R S 基準点は六角形の中心(「J」)になり、基準角は六角形の左上隅(「A」)になります。ただし、角度は、角度ではなく、このポイントから六角形の外側を回る時計回りのステップ数で説明します。したがって、角度ではなく「ステップ番号」と呼びます。 たとえば、「C」は半径が2(中心から2リング離れているため「J」)であり、ステップ番号が2(「A」から時計回りに2つ前方)であるため、(2、2)にあります。 ')。同様に、「O」は(1、3)にあります。これは、中心から1リング離れているため、「E」(基準角度上)から時計回りに3歩進むためです。 完全を期すために、「J」は(0、0)にあります。これに到達するには0歩、時計回りに0歩が必要です。 これで、デカルト座標で六角形を記述することもできますが、オフセットのため、これは少し奇妙です。極座標と同様に、中心を(0、0)に置きます。各スペースも座標を占めるため、「K」は(1、0)ではなく(2、0)にあります。これにより、(-2、2)に「A」、(1、-1)に「O」が配置されます。 チャレンジ 極座標の六角形座標を指定して、デカルト座標で同じ座標を出力します。これらの座標を取り、適切な形式で回答を出力できます。これは、必要に応じて入力の順序を逆にすることができることを意味します。これはまた、座標を(Y、X)として出力できることを意味しますが、そうする場合は、混乱を避けるために回答にこれを記載してください。 負の半径を処理する必要はありませんが、負の角度、または六角形の周りの完全な回転以上の角度を取得する場合があります。たとえば、入力として(1、10)または(1、-2)を受け取る場合があります。これらは両方とも前の六角形の「N」に対応します。入力のために非整数を処理する必要はありません。 サンプルIO #Polar #Cartesian (0, 0) (0, 0) (1, 2) (2, 0) (6, 0) (-6, 6) (2, -3) (-3, -1) (4, …

1
切り替えシーケンス
イントロ スイッチングシーケンスは次のように定義されます。 n円の中に立っている人から始めます(6この例の場合)。 1 2 6 3 5 4 personから開始して1、「選択された」人の左側にある人が削除されます。 1 6 3 5 4 削除された人は、削除方法を「切り替える」ことができます。 削除された人が偶数の場合(この場合)、次の削除された人は、次の「選択された」人の右側になります。 削除された人が奇数の場合、次の削除された人は、次の「選ばれた」人の左側になります。 次に選択された人は、以前に削除された人にも依存します。 削除された人が偶数の場合、次に選択された人は前に選択された人の右側になります。 削除された人が奇妙な場合、上記を参照してください。ただし、「右」を「左」に置き換えます。 そのため、次に選択される人は6です。 今、私たちはの右にある者を削除6され、5: 1 6 3 4 ので5奇数で、削除人は左になりました。新しく選ばれた人は1です。 削除し3ます: 1 6 4 1つの番号が残るまでこのプロセスを続けます。この例では、最終的な番号は1です。だからS(6) = 1。 最初の数は次のとおりです。 n | S(n) --------- 1 | 1 2 | 1 3 | 3 4 …

4
グリッドを操作します!
ブリーフィング あなたはボットであり、北、南、東、西の4つの方向すべてに無限に広がる2Dグリッドにいます。番号が与えられたら、ターゲット番号に到達するようにボットを移動する必要があります。 グリッドの仕組みは次のとおりです。 北、南、東、西の4つの方向に移動できます。一度セルから移動すると、そのセルに再び戻ることはできません(そのため、効果的にマップから削除されます)。 行く「カウンター」、があります1234567890(それから行くよう1に2する...すべての方法9に、その後、0戻って、その後、1あなたが移動するたびに変更し、再び)は、。 また、0から始まる「値」もあります。 いずれかの方向に移動すると、移動する方向に応じて数学的な操作が発生します。 北:カウンター(value += counter)によって値が増加します。 東:カウンター(value -= counter)によって値が減少します。 南:値にカウンター(value *= counter)が掛けられます。 西:値はカウンター(value /= counter)で除算されます。 除算は整数除算なので、5/2 -> 2です。 で割ることはできません0。 例: ボットが北に3回移動した場合: 最初の「北」の動きは、カウンターを1にインクリメントし、値(現在は1)に追加します。 2番目の「北」の動きは、カウンターを2に増分し、値(現在は3)に追加します。 3番目の「北」の動きは、カウンターを3に増分し、値(現在は6)に追加します。 最終値は6です。 北に移動し、再び南に移動します。 最初の「北」の動きは、カウンターを1にインクリメントし、値(現在は1)に追加します。 2番目の「南」移動エラーは、ボットが移動しようとしているセルが(最初の移動から)削除されるためです。 ボットがエラーになったため、最終的な値はありません。 チャレンジ あなたの課題は、ボットの最終的な値がその数値に等しくなるように、ボットが入る適切な方向を番号が与えられたときにプログラムを書くことです。 したがって、数値がの場合6、それに対する有効なソリューションは次のようになります。 nnn (ボットは3回連続して北に移動します)。 テスト値は次のとおりです。 49445094, 71259604, 78284689, 163586986, 171769219, 211267178, 222235492, 249062828, 252588742, 263068669, 265657839, …

2
繰り返しを解釈する!
この課題は、繰り返しに関する2チャレンジシリーズの最初の課題です。2つ目はすぐにアップします。 繰り返し(私がちょうど作っ何か)と呼ばれる言語では、無限の文字列が構成さ12345678901234567890...と、1234567890永遠に繰り返すことを。 数値を出力するには、次の構文を使用できます。 +-*/:これにより、繰り返し数字の文字列に演算子が挿入されます。 例: +-> 1+2= 3(間にandを+挿入)+12 +*-> 1+2*3= 1+6= 7(2つの演算子が現在使用されていることを除いて、上記と同じです) /-> 1/2= 0(繰り返しは整数除算を使用) //-> 1/2/3= 0/3= 0(繰り返しは複数の減算と除算で「左の関連付け」を使用します) 各演算子は、c' がない限り、左に1桁の数字が挿入されるように挿入されます(以下を参照)。 c:文字列の次の数字と連結します。 例: c+-> 12+3= 15(をc「継続」1し、次の数字と連結して2、を形成します12) +c-> 1+23=24 ccc -> 1234 ():数字を処理するための括弧。 例: (c+)*-> (12+3)*4= 15*4= 60(繰り返しは操作の順序を使用します) (c+)/c-> (12+3)/45= 15/45=0 (cc+c)/-> (123+45)/6= 168/6=28 s:番号をスキップします(無限の文字列から番号を削除します)。 s+-> 2+3= 5(sスキップ1) csc- > 124(第一cconcats …

3
2つのベクトルの線形結合
エグゼクティブサマリー 2つのベクトルを表す入力とそれぞれの「重み」を指定すると、それらのベクトルの加重和も表す出力が生成されます。 チャレンジ 入力は、次の文字の1つ以上の行で構成されます。 2次元平面の原点を表す数字0の正確な1回の出現。 正確に他の2桁(1から9。同じ数字である場合とそうでない場合がある)、その原点に対する位置はベクトルを表し、その値はこれらのベクトルに付加された重みを表します。 いくつかの「背景文字」。ソルバーは特定の背景文字を選択できます。たとえば、「。」を選択します (主に人間が読みやすいように)。または、背景文字は空白のように見えるものであれば何でもかまいません。 (ソルバーは、入力が単一の複数行文字列であるか、1行文字列の配列であるかを選択できます。) たとえば、入力 ....2 .0... ...3. 重み2の座標(3,1)のベクトルと、重み3の座標(2、-1)のベクトルを表します。 出力は入力とほぼ同じで、次の変更が必要です。 ソルバーによって選択され、入力ベクトルの加重和によって指定された位置に(追加的に、入力ベクトルの適切な線形結合である位置に)追加される「結果文字」。 原点、2つの入力ベクトル、および出力ベクトルを同じ画像に収めるために必要な数の背景文字。必要に応じて、追加の背景文字を含めることができます。唯一の制約は、背景文字が可視文字である場合、出力全体の形状が長方形でなければならず、ベクトルを表さないすべての文字が背景文字でなければならないということです。(空白文字が背景文字として使用される場合、これらの制約を実施する必要はありません。) (一般に、重みaの1つのベクトル(v、w)と重みbの2番目のベクトル(x、y)がある場合、それらの加重和はa(v、w)+ b(x、y)=(av + bx、aw + by)。) 前の例では、適切な線形結合は2 *(3,1)+ 3 *(2、-1)=(12、-1)です。結果の文字として「X」を使用すると、出力は次のようになります ....2......... .0............ ...3.........X または ................ ...2............ 0............... ..3.........X... ................ ................ 通常のコードゴルフスコアリング:バイト単位の最短回答が勝ちます。 入出力の例 空白が使用される場合、上記の入力は次のようになります 2 0 3 出力は次のようになります 2 0 3 X 先頭/末尾の空白文字/行は無関係です。読者に見えない場合は問題ありません。(そうは言っても、残りの例では、読みやすくするために、背景文字に "。"を使用することに戻ります。) …

6
最長算術部分列
整数の空でない有限シーケンスを指定すると、最大長の算術サブシーケンスを返します。 同じ最大長の倍数がある場合、それらのいずれかを返すことができます。 定義: 演算シーケンスは、シーケンスであるa(1),a(2),a(3),a(4),...定数が存在するように、cそのようなa(m+1)-a(m) = cすべてのためにm。つまり、次の2つの用語の差は一定です。 シーケンスを考えるとサブはシーケンスであると、すべてのために。つまり、元のシーケンスを取り、必要な数のエントリを削除します。b(1),b(2),b(3),b(4),...b(s(1)),b(s(2)),b(s(3)),b(s(4)),...1 <= s(1)s(m) < s(m+1)m 例 Input Output [4,1,2,3,6,5] [1,3,5] or [1,2,3] [5,4,2,-1,-2,-4,-4] [5,2,-1,-4] [1,2,1,3,1,4,1,5,1] [1,1,1,1,1] or [1,2,3,4,5] [1] [1] より長いテストケース: Length: 25 Input: [-9,0,5,15,-1,4,17,-3,20,13,15,9,0,-6,11,17,17,9,26,11,5,11,3,16,25] Output: [15,13,11,9] or [17,13,9,5] Length: 50 Input: [35,7,37,6,6,33,17,33,38,30,38,12,37,49,44,5,19,19,35,30,40,19,11,5,39,11,20,28,12,33,25,8,40,6,15,12,27,5,21,6,6,40,15,31,49,22,35,38,22,33] Output: [6,6,6,6,6] or [39,33,27,21,15] Length: 100 Input: [6,69,5,8,53,10,82,82,73,15,66,52,98,65,81,46,44,83,9,14,18,40,84,81,7,40,53,42,66,63,30,44,2,99,17,11,38,20,49,34,96,93,6,74,27,43,55,95,42,99,31,71,67,54,70,67,18,13,100,18,4,57,89,67,20,37,47,99,16,86,65,38,20,43,49,13,59,23,39,59,26,30,62,27,83,99,74,35,59,11,91,88,82,27,60,3,43,32,17,18] Output: [6,18,30,42,54] or …

7
あらゆる長さのサイクルを持つ関数を見つける
機能は持っていると言われている長さの周期をN個存在する場合、Xをそのドメイン、その結果、F N(X)= XとF M(X)≠X用0 <M <N 、上付き文字nは意味N - fのアプリケーションを折りたたみます。長さ1のサイクルは固定小数点f(x)= xであることに注意してください。 あなたの仕事は、整数から自身への全単射関数を実装することです。これは、すべての正の長さnの正確に1サイクルを持ちます。全単射関数は1対1の対応です。つまり、すべての整数が1回だけマッピングされます。長さの正確に一つの周期を有するN正確に存在することを意味し、Nの異なる番号がxはれるF N(X)= XとF M(X)≠X用0 <M <N 。 このような関数がx = 0の周りにどのように見えるかの例を次に示します。 x ... -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 ... f(x) ... 2 4 6 -3 -1 1 -4 0 -2 5 …

15
少なくともn回m回発生する何かの確率
成功確率p、数nおよび試行回数mが与えられると、m回の試行のうち少なくとも n回の成功の可能性を返すプログラムまたは関数を記述します。 回答は、小数点以下5桁以上で正確でなければなりません。 テストケース: 0.1, 10, 100 -> 0.54871 0.2, 10, 100 -> 0.99767 0.5, 13, 20 -> 0.13159 0.5, 4, 4 -> 0.06250 0.45, 50, 100 -> 0.18273 0.4, 50, 100 -> 0.02710 1, 1, 2 -> 1.00000 1, 2, 1 -> 0.00000 0, 0, 1 -> 1.00000 0, …

11
これらの正方形は重なりますか?
2つの正方形の左上隅の座標とその辺の長さを考慮して、正方形が重なるかどうかを判断します。正方形には上下の線が含まれますが、下と右の線は含まれません。つまり、点(a,b)はk、(x,y)ifおよびの場合にのみ辺の長さを持つ正方形の内側にx <= a < x+kありy <= b < y+kます。辺の長さが0の正方形は縮退しているため、ここでは考慮されないため、k正になります。 通常どおり、すべての標準ルールが適用されます。入力と出力は、人間が読める形式であり、事前計算がない限り、どんな形式でも便利です。使用する入力形式を必ず指定してください。コードは6つの数字を取り、正方形が重なる場合は真実を出力し、そうでない場合は偽を出力する必要があります。 テストケース x1 y1 k1 x2 y2 k2 overlap? 1 1 1 0 1 1 false 0 0 3 1 1 1 true 1 1 1 0 0 3 true 0 0 3 2 1 2 true 0 0 2 1 …

8
ファイの三角形を描く
明確化:基本的に、これを作成する必要があります オイラーのtotient関数の名前はphiです。 phi(8)を計算してみましょう まず、0以下を含まない、8以下のすべての数字を後方にリストします 8 7 6 5 4 3 2 1 次に、8と因子を共有しない数字を見つけ(1はカウントしません)、その場所にa #を配置します。 8 # 6 # 4 # 2 # 数字を削除します。 # # # # - これを行いますが、出力を三角形にまとめます 9 88 777 6666 55555 444444 3333333 22222222 111111111 --------- 123456789 # 非因子共有番号を出力する 9 8# 7## 6#66 5#### 4#4#4# 3##3##3 2#2#2#2# …

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