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

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

3
GF(5)上の既約多項式
あるフィールド Fに係数を持つ多項式は、Fに係数を持つ低次の多項式の積に分解できない場合、F上の既約と呼ばれます。 ガロア体 GF(5)上の多項式を考えます。このフィールドには、5つの要素、つまり数字0、1、2、3、および4が含まれます。 仕事 正の整数nが与えられた場合、GF(5)上の次数nの既約多項式の数を計算します。これらは、0-4の係数を持つ多項式であり、0-4の係数を持つ他の多項式に因数分解することはできません。 入力 入力は単一の整数であり、任意の標準ソース(STDINまたは関数引数など)から取得できます。出力がオーバーフローしないように、最大​​整数までの入力をサポートする必要があります。 出力 GF(5)で既約な多項式の数を出力または返します。これらの数値はかなり速く大きくなることに注意してください。 例 In : Out 1 : 5 2 : 10 3 : 40 4 : 150 5 : 624 6 : 2580 7 : 11160 8 : 48750 9 : 217000 10 : 976248 11 : 4438920 これらの番号は、OEIS のシーケンスA001692を形成することに注意してください。

5
数学的置換
複数の入力を使用して数学の問題を実行すると便利な場合があります。この課題の目標は、このタスクを容易にするプログラムを作成することです。 数値生成式 3種類の式をサポートする必要があります。 単一の数値ジェネレーター:非常にシンプルで、単なるリテラルの数値 複数番号ジェネレータ:少し複雑です。これらは角括弧([])で囲まれています。数値は,、式内でコンマ()で区切られています。例[-1,2,3.26]。 範囲ジェネレーター:これは中括弧({})で囲まれています。カンマで区切られた3つの数字があります。この式の形式は{start,stop,step}です。startそしてstop包括的です。 評価のルール 操作の順序をサポートする必要があります。(https://en.wikipedia.org/wiki/Order_of_operations#Definition) 括弧をサポートする必要はありません。 式には任意の数のスペースを入れることができます。 浮動小数点数をサポートする必要があります(言語のデフォルトの精度は問題ありません)。 0結果による除算NaN(数値ではない)。 プログラムは*、乗算()、除算(/)、加算(+)および減算(-)をサポートする必要があります。 出力 出力の各行は、ジェネレーターの組み合わせの1つです。形式は、式(それに置換される実数を含む)の後に等号(=)と評価の結果が続きます。ジェネレーターのすべての組み合わせは、出力で表す必要があります。 例 (>>>入力を示す) >>>3 * [3,2] 3 * 3 = 9 3 * 2 = 6 >>>{1,2,3} 1 = 1 <-- this is because 1 + 3 > the end >>>{0,2,1} + {0,1,1} 0 + 0 …
13 code-golf  math 

4
エントロピーの計算
入力 M2つのスペースで区切られた整数の行として表される行列。各行整数の同じ数を有し、各整数のいずれかであろう-1又は線当たり整数の1数が最も20であろうが M故になり2によってn場合n2本のラインのそれぞれに整数の数です。 コードは完全なプログラムでなければなりません。標準入力またはファイルからの入力を受け入れます(これは選択です)。標準入力、ファイル、または単にパラメータとして入力を受け入れることができます。ただし、後者を行う場合は、コードがどのように機能するかを明示的に示し、完全なプログラムでなければならずM、入力でマトリックスがどのように表されるかを覚えておいてください。言い換えれば、あなたは何らかの解析をしなければならない可能性が高いです。 出力 の要素が{-1,1}から均一かつ独立して選択される分布のバイナリシャノンエントロピー。 は、次元の列ベクトルです。M*xxxn 離散確率分布のエントロピーは - sum p_i log_2(p_i) この場合、p_iは、i番目の一意の可能性の確率ですM*x。 例と役立つヒント 実用的な例として、マトリックスMを -1 1 -1 -1 今、すべての2^2異なる可能なベクトルを見てくださいx。それぞれについて、M*xすべての結果を計算して配列(2要素ベクトルの4要素配列)に入れます。4つのベクトルのそれぞれについて、発生する確率はですが1/2^2 = 1/4、各一意の結果ベクトルM*xが発生する回数にのみ関心があるため、同じ一意のベクトルにつながる構成の個々の確率を合計します。言い換えると、可能な一意のM*xベクトルは、調査している分布の結果を記述し、これらの各結果の確率を決定する必要があります(構築により、常に整数倍1/2^2、または1/2^n一般的に)エントロピーを計算します。 一般的なnケースではM、可能な結果に応じて、M*x「すべて異なる」(この場合はinのn値がiありp_i、それぞれp_iがに等しい1/2^n)から「すべて同じ」(この場合は単一の可能性があります)結果、およびp_1 = 1)。 具体的には、上記の2x2行列の場合M、4つの可能な構成([+-1; +-1])を乗算することで、結果の各ベクトルが異なることがわかります。そのため、この場合、4つの結果があり、結果としてp_1 = p_2 = p_3 = p_4 = 1/2^2 = 1/4。log_2(1/4) = -2私たちが持っていることを思い出してください: - sum p_i log_2(p_i) = -(4*(-2)/4) = 2 したがって、このマトリックスの最終出力は2です。 テストケース 入力: …
13 code-golf  math 

4
ゲッターをゲット
タスク 私は誰もが自動コード生成と仕事中の時間の節約を愛していると思います。日中は多くのクラスとメンバーを作成するgetters必要があり、それらすべてを手動で作成する必要はありません。 タスクはgetters、すべてのクラスメンバーに対して自動的に生成されるプログラムまたは関数を作成することです。 入力 私たちの言語では、オブジェクトは非常に単純です。クラスおよびメンバーの名前は、文字から始まる必要[a-zA-Z]があり、文字のみを含めることができます[a-zA-Z0-9]。以下に例を示します。 class Stack { public overflow; protected trace; private errorReport; } 出力 これは、指定された例に基づいた有効な出力です。 class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } ゲッター getterメソッドの要件は次のとおりです。 …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

13
正方形の側面の特定
最初のコードゴルフチャレンジへようこそ!:)すぐに飛びましょう。 チャレンジ: O(原点)とT(ターゲット)の2つの浮動小数点ベクトルがある場合、値LとRをSTDOUTに出力するプログラムを作成する必要があります。 Oは正方形の1つの角です Tは、Oの反対側にある正方形の1つの角です。 Lは、不完全な正方形のもう一方のポイントを示す2Dポイント(コーナー)です。 Rは、Lの反対側の2Dポイント(角)です。 ルール OおよびTの値は、STDINから読み取る必要があります(入力例を参照)。 繰り返しますが、LとRの値はSTDOUTに出力する必要があります。 得点とボーナス プログラムのバイトをカウントします。 プログラムがOからL、TからRを結ぶ線を引く場合、バイトカウントから15バイトを引きます。 例 最初の行は入力(Oの場合は最初の角括弧、Tの場合は次の角括弧)をカバーし、他の行は期待される出力を表します。 [0、0] [3、3]期待:[0、3] [3、0] [0、0] [-2、-2]予想:[-2、0] [0、-2] [1、-1] [4、2]予想:[1、2] [4、-1] [0、-1] [0、1]予想:[-1、0] [1、0] 注意:入力と出力は浮動小数点にすることができます! 重要な情報! 値OおよびTは、STDIN(例:[]または()...内)からのものである限り、任意の形式で使用できます。 LとRは任意の順序で印刷できます。 覚えておいてください:(O-> L-> T-> R-> O)が接続されている場合、各辺は同じ長さでなければなりません! 勝ち これはコードゴルフですので、バイトの答えが最も少なくなります! 勝者の回答は、2015年11月15日日曜日20:00-22:00(フィンランド時間)に受け入れられます(私が間違っていなければ、その日付は米国の2015年11月15日のように書かれています。混乱しないでください)。 ハッピーゴルフ!

4
Crazy Librarianの興味深いPrime Permutation Index Number Generator
プライムシーケンスコードで1日を節約し、数学の先生はそれを気に入ってくれました。あまりにも多くのことで、司書(あなたの上司)に新たな挑戦がもたらされました。おめでとうございます。図書館員が数学教師に再び感銘を与えることができるように、ソリューションをコーディングすることができます。 10を底とするNの自然数のシーケンスから始めます 0、1、2、3、4、5、6 ... 0およびを除外すると1、このシーケンスのすべての数値は、P、P 2、3、5、7、11、13 ... またはコンポジット、C 4、6、8、9、10、12、14、15、16、18、20、20 ... 司書思想から数の小数展開に整数数字を挿入する方法に反映P、数学教師ではなく関数作成G(x、y)は数取りxからNと1 <= x <= 9し、番号をyからCとインサートxにしy一意の数字のみを選択して、左から右の順に、すべての位置の10進数展開。 たとえば、G(3,14)は314, 134, 143です。しかし、G(1,14)があるだけで114, 141、あなたが前に付加または挿入するかどうかのように、1中に14、同じ番号が114生成されます。 数学の先生は、あなたがの番号を取得する前に、これらの置換を行う必要があるだろう何回不思議に思っPを、あなたがかかった場合、x昇順に。数学の先生は、これを数値の複合プライムインデックスと呼び、CPI(y)と書きました。 たとえば、4:二回しか行われる必要が14, 41あるため、41素数であるので、CPI(4)があります2。ただし、素数になる前に86回行う必要があるため、CPI(8)はです。18, 81, 28, 82, 38, 83836 あなたの仕事は、入力番号を指定して、このComposite-Prime Indexを出力するコードを書くことです。 入力 単一の整数yような、yであるC、関数の引数、STDIN、または同等介して入力。 計算のためyに、通常の整数範囲に収まると仮定できます(たとえば、上限を2 31 -1 と仮定)。 Cにyない場合の動作は未定義です。 出力 上記のように計算された結果のComposite-Prime Indexは、2つの例外を除き、STDOUTまたは同等のものに出力されます。 場合は非常に最後の順列は(すなわち、追加9するにはy)首相、出力結果は1です-1。以下に展開する例はy=14です。 順列がない場合(つまり、G(x、y)がすべてのCのサブセットである場合1 <= x <= 9)、output 0。以下に展開する例はy=20です。 例 y -> operations …

15
2点間の角度を見つける
2つの点Aとが与えられたとき、原点()である点の周りの線Bから線AOへの角度を見つけます。さらに、角度は、ポイントの位置に応じて正または負になる場合があります(例を参照)。入力はポイントとになり、便利な形式で入力できます。出力は度単位の角度になります(ただし、取得する原点を中心に反時計回りに回転した場合は正、時計回りに回転した場合は負になります)。角度が180度の場合、負または正の出力を返すことができます。同様に、角度は同じ角度の正または負のバージョンにすることができます(に等しい)。例:BOOO(0,0)ABAOBO90 deg-270 deg 入力:A(5,5) B(5,-5)出力:-90(AO回転させる-90度取得しますBO)。 入力:A(5,-5) B(5,5)出力:90(AO回転させる90度取得しますBO)。 これはcode-golfなので、バイト単位の最短コードが勝ちです!

10
スンダラムのふるい(素数を見つけるため)
チャレンジ 以下の素数を見つけるためにスンダラムふるいを実装しますn。入力整数を受け取り、n以下の素数を出力しますn。これnは常に100万以下であると想定できます。 ふるい から1までの整数のリストから始めnます。 次の形式の数字をすべて削除しますi + j + 2ij。 iおよびj未満ですn。jは常に以上でi、これは以上です1。 i + j + 2ij より小さいか等しい n 残りの数値にを掛け2、を加算し1ます。 これにより、すべての素数が得られます(ただし2、出力に含める必要のあるものを除く)2n + 2。 下の素数を見つけるのに使用されているふるいのアニメーションはこちらです202。 出力 出力は、すべての素数整数≤ n(昇順)とそれに続く改行である必要があります。 2 3 5 どこにnあり5ますか。 例 > 10 2 3 5 7 > 30 2 3 5 7 11 13 17 19 23 29 入力はで示され>ます。

6
決定要因の最適化の課題
30 x 30のテプリッツを検討する エントリがすべて0または1である行列をます。この課題は、可能な最大の行列式を持つ行列を見つけるための単純な最適化課題です。 入力なし 出力すべてのエントリが行列式とともに0または1である30 x 30のテプリッツ行列をます。 スコア出力する行列の行列式。2人が同じスコアを獲得した場合、最初の答えが勝ちです。 これまでの主要なエントリー Matlabで 65,455,857,159,975Nick Algerによる(およそ(10 ^ 13.8) Pythonの 65,455,857,159,975 65,455,857,159,975(約10 ^ 13.8) Mathematicaの 39,994,961,721,988で39,994,961,721,988(約10 ^ 13.6) 39,788,537,400,052 in R by Flounderer(おおよそ10 ^ 13.6) Vioz-によるPythonの 8,363,855,075,832(約10 ^ 12.9) アレックスAによるジュリアの 6,984,314,690,903 (約10 ^ 12.8) 迷惑な追加の制約2015年7月16日 可能な場合は、任意のまたは高精度の算術を使用して最終出力の決定要因を計算し、実際に何であるかを確認できるようにしてください(常に整数である必要があります)。Pythonでは、これが役立つはずです。

3
自然に線形なディオファンチン方程式
2変数の線形ディオファントス方程式は、ax + by = cの形式の方程式です。ここで、a、b、およびcは定数整数であり、xおよびyは整数変数です。 多くの自然に発生するディオファントス方程式では、xとyは負の値にできない量を表します。 仕事 係数を受け付けるプログラムまたは機能書き込み、B及びCの入力及び戻りのような任意の一対の自然数(0、1、2、...)のx及びyは式検証すること= cで+ AXを例えば一対場合、存在します。 追加のルール 入力にコードを埋め込まない限り、目的の整数のみを含む入力および出力の任意の形式を選択でき、オプションで言語の配列/リスト/行列/タプル/ベクトル表記を選択できます。 係数aとbが両方ともゼロではないと仮定できます。 コードは、の間の整数のいずれかのトリプレットのために働く必要があり-2 60と2 60。私のマシン(Intel i7-3770、16 GiB RAM)で1分以内に終了する必要があります。 あなたは、このようなMathematicaのようディオファントス方程式を解くため、このタスクを矮小任意のビルトインを、使用することはできませんFindInstanceかFrobeniusSolve。 時間制限に準拠し、その出力が有効なソリューションと混同されない限り、ソリューションが見つからない場合でも、コードは希望どおりに動作します。 標準のコードゴルフ規則が適用されます。 例 以下の例は、方程式2x + 3y = 11の有効なI / Oを示しています。これには、正確に2つの有効な解((x、y)=(4,1)および(x、y)=(1,3))があります。 Input: 2 3 11 Output: [4 1] Input: (11 (2,3)) Output: [3],(1) 2x + 3y = 2の唯一の有効なソリューションは、ペア(x、y)=(1,0)です。 以下の例は、式2x + 3y …

11
距離mod Nの計算
Advanced Collecting Device Controller™から長い間データを収集しています。ログを確認すると、恐ろしいことに何かがひどく間違っていることがわかります。データには数字の最後のビットしか含まれていません。 幸いなことに、開始値がわかっていて、値が決して速く変化することはありません。つまり、スタート地点からの距離を見つけるだけで残りを回復できるということです。 チャレンジ モジュラスNと中間値モジュロのリストを指定して、値が変化した量を計算するプログラムまたは関数を作成しますN。 数値の各ペア間の変化は常により小さいためN/2、各テストケースに対して有効な回答は1つだけです。 入力として、N2を超える整数と値のリストが、選択した形式で提供されます。入力は、STDINまたはコマンドラインまたは関数の引数を介して指定できます。 元の値が変更された量である単一の整数を出力します。出力はSTDOUTに出力されるか、返されます。 ルール プログラムは、未満の距離とモジュラスで機能する必要があり2^20ます。 あなたはそれを仮定するかもしれません: Nは少なくとも3です。 リストには少なくとも2つの値があります。 リスト内のすべての値は、少なくとも0未満ですN。 数値のすべての変更は未満ですN/2。 それ以外は無効な入力であり、プログラムは必要な処理を実行できます。 この正確な目的のための標準的な抜け穴、非標準ライブラリ、組み込み関数は禁止されています。 これはcode-golfであるため、バイト単位の最短プログラムが優先されます。 テストケースの例 入力: 3 0 1 2 2 0 1 0 2 1 2 0 1 2 1 1 出力: 4 説明(値の例付き): Value mod 3: 0 1 2 2 0 1 …
13 code-golf  math 

1
ピザを公平に共有する
友人とピザを共有することの難しさは、スライスで全員が同じ量のペパロニを確実に摂取できるようにするのが難しいことです。だから、あなたの仕事は、みんなが幸せになるようにピザをどのように公正にスライスするかを決めることです。 行き方 円形ピザのペパロニの位置と作成するスライスの数のリストを指定して、各スライスが同じ量のペパロニになるようにピザをカットする角度のリストを出力するプログラムを作成しますそれ。 ピザのトッピングはペパロニのみです。 お友達は、ペパロニからだまされないというだけで、スライスのサイズを気にしません。 ピザは、原点(0, 0)を中心とし、半径が1の円です。 ペパロニは、入力が中央にあり、半径が0.1 入力を、作成するスライスの数を表す整数、およびデカルト座標系でのペパロニの位置を表す順序ペアのリストとして受け取ります。(合理的な形式で) 出力は、ピザの「カット」の位置を表すラジアン単位の角度のリストである必要があります(範囲内0 <= a < 2pi)。(合理的な形式で)(精度は少なくともでなければなりません+/- 1e-5。) スライスにペパロニの部分的な部分を置くことができます(例えば、ピザにペパロニが1つあり、10人で共有する必要がある場合、ピザを10回カットします。 !) カットは、複数のペパロニを切ることができます(必要な場合があります)。 ペパロニスは重複する場合があります。 例 入力: 8 people, pepperonis: (0.4, 0.2), (-0.3, 0.1), (-0.022, -0.5), (0.3, -0.32) 可能な有効な出力: slices at: 0, 0.46365, 0.68916, 2.81984, 3.14159, 4.66842, 4.86957, 5.46554 この例の視覚化を次に示します(全員がペパロニの半分を取得します)。 その他の例: Input: 9 people, 1 pepperoni …

3
コンピューター:あなたは数学をする
この課題は、一部はアルゴリズムの課題であり、いくつかの数学が関与し、一部は単に最速のコードの課題です。 何らかの正の整数のために、長さのsとs のn一様にランダムなストリングを考えて、それを呼び出してください。また、値がまたはである2番目の一様に選ばれた長さのランダムストリングを考えて、それを呼び出してください。今聞かせても+ 。それはそれ自体に連結されます。10nAn-10,1B_preBB_preB_preB_pre 今の内積を考えるAとB[j,...,j+n-1]、それを呼び出すZ_jから、インデックスを1。 仕事 出力は、n+1分数のリストである必要があります。i出力のth番目の項は、すべての最初の項が等しいという正確な確率でなければなりません。iZ_jj <= i0 スコア n私のマシンでは、コードが10分以内に正しい出力を提供する最大のもの。 タイ・ブレーカー 2つの回答のスコアが同じ場合、最初に提出された方が勝ちです。 誰かが無制限のスコアを取得する方法を見つけるという(非常に)まれなイベントでは、そのようなソリューションの最初の有効な証拠が受け入れられます。 ヒント この問題を数学的に解決しようとしないでください。難しすぎます。私の考えでは、高校からの確率の基本的な定義に戻って、可能性を徹底的に列挙するコードを取得するスマートな方法を見つけることが最善の方法です。 言語とライブラリ 自由に利用できるコンパイラ/インタープリター/などを備えた任意の言語を使用できます。LinuxおよびLinuxでも自由に利用できるライブラリ用。 私のマシン タイミングは私のマシンで実行されます。これは、AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。結果として、簡単に入手できる無料のソフトウェアのみを使用し、コードをコンパイルして実行する方法の完全な指示を含めてください。 いくつかのテスト出力。それぞれの最初の出力だけを考えてくださいn。そのときi=1です。以下のためにn1から13まで、彼らはする必要があります。 1: 4/6 2: 18/36 3: 88/216 4: 454/1296 5: 2424/7776 6: 13236/46656 7: 73392/279936 8: 411462/1679616 9: 2325976/10077696 10: 13233628/60466176 11: 75682512/362797056 12: 434662684/2176782336 13: 2505229744/13060694016 あなたはまたのための一般的な式を見つけることができるi=1でhttp://oeis.org/A081671。 …

1
Manufactoriaの素数テスト
バックグラウンド Manufactoriaはプログラミングに関するゲームです。プレーヤーは、タスクを完了するために2次元プログラミング言語の形式を使用する必要があります。聞いたことがないなら、最も簡単な学習方法は、ゲームの最初のいくつかのレベルを試すことです。 チャレンジ あなたの課題は、数の素数性をテストするプログラムを作成することです。 入力は、キュー内の一連のN個の青いマーカーになります。Nが素数の場合、プログラムはそれを受け入れます(ロボットを最後まで動かします)。Nが複合の場合、プログラムはそれを拒否する必要があります(どこかに床に落とします)。 提出オプション これは典型的なManufactoriaチャレンジよりも複雑なチャレンジであるため、回答を送信する方法を増やすことを決定しました。 バニラ 提出物を作成してテストするための13x13カスタムレベルを作成しました。カスタムテストレベルは次のとおりです。 13x13カスタムレベル ゲームではカスタムレベルで8つのテストケースのみが許可されますが、理論的には、使用可能なメモリによってのみ制限される任意の自然数Nを処理できるようにする必要があります。 情報目的で、カスタムレベルで提供されるテストケースは次のとおりです。 1 -> reject 2 -> accept 4 -> reject 5 -> accept 7 -> accept 9 -> reject 11-> accept 15-> reject 拡張グリッド 一部のユーザーは、13x13グリッドよりも広いスペースが必要な場合があります。URLの番号を変更して作成されたゲーム内15x15カスタムレベルへのリンクは次のとおりです。 15x15カスタムレベル 悲しいことに、追加のセルにアクセスできないため、より大きなカスタムレベルは機能しません。 The Manufactoria Esolang ManufactoriaはASCIIベースの言語に適応しています。作品をデザイン/テストする別の方法が必要な場合、または最終的なソリューションをゲームボードに適合させることができない場合は、このエソランを使用できます。このエソランに関する情報は、ここで見つけることができます: Manufactoria esolang エソランと実際のゲームの間にはいくつかの矛盾があります。たとえば、コンベアの交差点の処理方法は異なります。これらの不一致を利用しないようにしてください。 より高速なテスト方法 完了するまでに数千ステップを要するプログラムに関しては、ゲームは非常に遅くなります。私の概念実証ソリューションでは、15を拒否するために28042ステップが必要でした。ゲーム内で50倍の高速化をしても、時間がかかりすぎます。 私はこの非常に役立つウェブサイトを見つけました。回答へのリンクをコピーアンドペーストするだけで、特定の入力で回答をテストできます。28042ステップのプロセスには1秒もかかりませんでした。 注意すべきことの1つは、マシンが正常に動作していても、「誤って受け入れられた」というようなメッセージが頻繁に表示されることです。これは、Webページがテストケースのみを知っているためです。たとえば、私のマシンは実際には正しいものでしたが、私のソリューションは3番を「誤って受け入れた」と言うでしょう。 勝つ方法 …

10
四元数の乗算
2つの四元数の四元数積を計算する名前付き関数またはプログラムを作成します。できるだけ少ないバイトを使用してください。 四元数 四元数は、複素数をさらに拡張する実数の拡張です。i四元数は、単一の虚数単位ではなくi,j,k、関係を満たす3つの虚数単位を使用します。 i*i = j*j = k*k = -1 i*j = k j*i = -k j*k = i k*j = -i k*i = j i*k = -j (Wikipediaページにもこれらの表があります。) 言い換えると、各虚数単位はに2乗し-1、2つの異なる虚数単位の積は残りの3番目の単位であり+/-、循環次数(i,j,k)が尊重されるかどうかに依存します(つまり、右手則)。したがって、乗算の順序が重要です。 一般的なクォータニオンは、実数部と3つの虚数単位の線形結合です。したがって、4つの実数で記述されます(a,b,c,d)。 x = a + b*i + c*j + d*k そのため、分配プロパティを使用して2つのクォータニオンを乗算し、正しい順序で単位を乗算するように注意し、結果で類似の用語をグループ化できます。 (a + b*i + c*j + d*k) * (e …

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