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

三角法が重要な役割を果たす課題に。

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

8
マトリックス三角法
前書き 二つの最も一般的な三角関数、sine及びcosine(又はsinおよびcos短いため)は、行列値の関数であるように拡張することができます。マトリックス値のアナログを計算する1つの方法は次のとおりです。 次の2つの重要な三角関数を検討してください。 これらのIDを使用して、我々はのために以下の式を導くことができるsinとcos: 行列の指数はすべての正方行列に存在し、次式で与えられます。 ここで、A 0は恒等行列であり、Iと同じ寸法とA。行列指数を使用すると、これらの2つの三角関数(および他のすべての三角関数)は、行列の関数として評価できます。 チャレンジ 正方行列Aが与えられ、sin(A)との値を出力しますcos(A)。 ルール 入力および出力は、便利で合理的な形式(2D配列、言語のマトリックス形式など)になります。 1つのプログラム、2つの独立したプログラム、1つの関数、または2つの関数を作成できます。2つの関数を記述する場合、それらの間でコードを共有できます(インポート関数やヘルパー関数など)。 入力行列の値は常に整数です。 浮動小数点の不正確さの結果として、ソリューションに精度の問題がある場合があります。言語に魔法のような無限精度の値がある場合、ソリューションは完全に機能するはずです(無限の時間やメモリを必要とするという事実を無視して)。ただし、それらの魔法の無限精度の値は存在しないため、精度の制限に起因する不正確さは許容されます。この規則は、出力に特定の精度を要求することに起因する複雑さを回避するために設けられています。 マトリックス引数の三角関数(双曲線三角関数を含む)を計算する組み込み関数は使用できません。他の行列組み込み関数(乗算、べき乗、対角化、分解、行列指数など)が許可されています。 テストケース フォーマット: A -> sin(A), cos(A) [[0]] -> [[0]], [[1]] [[0, 2], [3, 5]] -> [[-0.761177343863758, 0.160587281888277], [0.240880922832416, -0.359709139143065]], [[0.600283445979886, 0.119962280223493], [0.179943420335240, 0.900189146538619]] [[1, 0, 1], [0, 0, 0], [0, 1, 0]] -> [[0.841470984807897, -0.158529015192103, …

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なので、バイト単位の最短コードが勝ちです!

3
三角法で三角形を解く
高校からの古い三角法のメモを掘り起こす時間です!課題は、異なる三角形の未知の側面と角度を解決することです。そして、コードゴルフの慣習であるように、最小の作業コードが勝ちます。 これは些細な問題ではありません。Pythonでの私の参照実装は現在838 837文字までですが、ゴルフソリューションをはるかに小さくできると確信しています。 さらに、行き詰まっている場合は、ウィキペディアのこのセクションで説明します:三角形:側面と角度の計算。 入力 次の三角形は、このチャレンジで使用される側面と角度の名前を示しています。側面は小文字で、角度は大文字であることに注意してください。 入力は、スペース上で区切られた6つの値stdinとして、コマンドライン引数(または選択)として与えられます。6つの値は、側面a, b, cと角度に対応しますA, B, C。不明な側面は疑問符(?)で示されます。入力角度と出力角度はどちらもラジアン単位でなければなりません。入力値が正しいと仮定できます(何も検証する必要はありません)。また、入力三角形が非縮退であり、すべての辺と角度が非ゼロであると仮定することもできます。 次の入力例aは8、サイドbが、サイドが12、角度Aが0.5ラジアンであることを示しています。 8 12 ? 0.5 ? ? 出力 出力は、入力と同じ形式で与えられます-スペースで区切られた6つの数字stdout。唯一の例外は、入力三角形を解決でき"No solution"ない場合ですstdout。文字列を書き込む必要があります。2つの解決策が可能な場合、それらは両方とも改行で出力されます。 上記の入力の出力は次のとおりです。 8.0 12.0 16.0899264342 0.5 0.802561439714 1.83903121388 8.0 12.0 4.97205505116 0.5 2.33903121388 0.302561439714 出力の精度はそれほど高くなくてもかまいませんが、少なくとも小数点以下2桁が必要です。 ルール 入力はstdinコマンドライン引数から読み取られます 出力はに書き込まれます stdout 指定された入力で2つのソリューションが可能な場合、両方を出力します 情報が少なすぎて1つまたは2つの明確な解決策が得られない場合は、それを"No solution"事例と見なします 組み込みまたは既存のコードは使用できません(もちろん、trig関数を使用できますが、「solveTriangle」などは使用できません) 最短のコードが勝つ テストケース に 3 4 5 ? …

4
担当者の再計算にご協力ください!
数か月前に、質問に対する賛成票で与えられる評判を高めることについて、メタについて議論しました。投票の現在の評判システムの基本は次のとおりです。1 質問に賛成票を投じるU価値は5つあります。 回答の賛成票uは10名の価値があります。 質問または回答のダウン票dは、-2評判に値します。 新しいシステムにはさまざまな提案がありましたが、現在最も人気のあるものは上記と同じですが、質問の賛成票が+10 repにスケーリングされています。この課題は、このシステムが導入された場合にどれだけ多くの担当者を獲得できるかを計算することです。 例を見てみましょう。投票アクティビティがの場合、UUUUuuuuUUUUUduuudUU現在のシステムでは121を獲得します。 U x 4 x 5 = 20 = 20 u x 4 x 10 = 40 = 60 U x 5 x 5 = 25 = 85 d x 1 x -2 = -2 = 83 u x 3 x 10 = 30 …

20
月の2点間の距離
月(lat1, lon1)と上の2つのポイントの緯度/経度を指定して、haversineの式と同じ結果を与える式を(lat2, lon2)使用して、2つのポイント間の距離をキロメートルで計算します。 入力 lat1, lon1, lat2, lon2度(角度)の4つの整数値または ϕ1, λ1, ϕ2, λ2ラジアン単位の4つの10進数値。 出力 2つのポイント間の距離(キロメートル単位、精度または丸められた整数)。 ハーバーシン式 どこ r は球体の半径です(月の半径が1737 kmであると仮定)、 ϕ1 ラジアン単位のポイント1の緯度 ϕ2 ラジアン単位のポイント2の緯度 λ1 ラジアン単位のポイント1の経度 λ2 ラジアン単位のポイント2の経度 d 2点間の循環距離 (ソース:https : //en.wikipedia.org/wiki/Haversine_formula) 他の可能な式 d = r * acos(sin ϕ1 sin ϕ2 + cos ϕ1 cos ϕ2 cos(λ2 - λ1)) @milesの式。 …

14
海で迷子になって助けて!
前書き 今日、私はカヌーと一緒に一人で釣りに行きました。残念なことに、私は眠りに落ち、小川が私を連れ去り、オールを失いました。海岸が見えないので遠くに行かなければなりません! 私は携帯電話を持っていますが、塩水で濡れたために故障しています。マイクと電話のスピーカーが壊れているため、何も話せず、聞こえませんが、海岸のビーチにいる友人にSMSを送信できます! 私の友人は非常に強力なトーチを持っていて、彼は正しい方向を示すために竹の杖の上にそれを上げましたが、私はオールを持っていないのでrowいできません。キャッチ! 友人は、トーチを海面の11.50メートルに維持していると言ったので、地平線のすぐ上に光が見えます。今、私は学校から地球の半径が海面で6371 Kmであるべきだと覚えているだけです。そして、私はカヌーに座っているので、私の目も海面にあると仮定できます。 仕事 潮流が刻々と私を動かしているので、私の友人は時々トーチを上げています(現在は12.30メートルです)。私の友人の位置からの距離を計算するのに役立つ完全なプログラムまたは関数を書いてください! 以下に図を示します(縮尺どおりではありません)。 ラベルの付いたオレンジ色の点Mは私、ラベルの付いた赤い点Tはトーチです。緑の線は、Mとの間の直線距離ですT 入力 標準入力からh、水平線の真上にあるトーチの高さをメートル単位で取得します。 0から100の範囲が含まれます。 出力 緑色の線のユークリッド長を1 cmの精度で返す必要があります。たとえば、メートル単位で出力する場合は、小数点以下2桁にする必要があります(少なくとも)。出力はメートルまたはキロメートルのいずれかですが、精度を尊重します。 テストケース: すべての値はメートルです。 11.5 > 12105.08 13.8 > 13260.45 ルール 最短のコードが優先されます。

1
特別な角度の罪、余弦、日焼けを印刷する
三角法では、「特別な角度」と呼ばれる特定の角度があります。これは、これらの角度のいずれかのsin、cos、またはtanを取ると、有理数の平方根であるため、覚えやすい結果が得られるためです。これらの特別な角度は常にpi/6、またはの倍数ですpi/4。以下は、すべての特別な角度とそれに対応するトリガー値の視覚化です。 ご覧のとおり、角度ごとに対応する数値のペアです。最初の数値はその角度の余弦で、2番目の数値はその角度の正弦です。これらの角度の1つの接線を見つけるには、sinをcosで割ります。たとえば、次tan(pi/6)と等しい sin(pi/6) / cos(pi/6) == (1/2) / (√3/2) == 1/√3 == √3/3 チャレンジ 3つの入力を受け取る完全なプログラムを作成する必要があります。 計算することになっているトリガー関数を表す単一の文字。これは、 's'(sin)、 'c'(cos)、または 't'(tan)のいずれかになります。 入力角度の分子。これは任意の正の整数です。5の入力は、分子が5 * piであることを意味することに注意してください。 入力角度の分母。これは常に次のいずれかになります。1, 2, 3, 4, 6 次に、その角度のトリガー関数の正確な値を出力します。以下は、2 * piまでのすべての角度のsin、cos、tanのリストです。 sin(0pi): 0 sin(pi/6): 1/2 sin(pi/4): root(2)/2 sin(pi/3): root(3)/2 sin(pi/2): 1 sin(2pi/3): root(3)/2 sin(3pi/4): root(2)/2 sin(5pi/6): 1/2 sin(1pi): 0 sin(7pi/6): -1/2 …

3
三角法で私を助けて!
微積分学にご協力いただき、誠にありがとうございます。さて、今度の三角法テストについて少し助けが必要です。 テストでは、式を簡略化する必要があります。のような入力が与えられ4sin(x)/(2cos(x))、より単純ですが同等の式(など2tan(x))を生成する必要があります。角度はすべて度単位であり、ゼロによる除算や無効なドメインの問題はないものとします。(たとえば、tan(x + 1)cot(x + 1)sin(x)/ sin(x)は常に1であると仮定します。) 私は教授のオフィスに忍び込んで、テストにあるかもしれない100の問題のリストを得ました。それらをすべて解決するためのコードを教えてください。一部の問題はすでに可能な限り単純化されている可能性があります。もしそうなら、単に入力を返します。 式を簡略化する必要がありますが、教授が気付かないように短いプログラム(または関数)も必要です。プログラムの長さとすべてのソリューションの合計の長さの合計を最小化するようにしてください。 明確にするために、一部の式が変更されずに返されたり、同等の長い形式で返されたりしても問題ありません。また、プログラムは以下にリストされている式でのみ動作する必要があります。誤った結果が返されたり、他の入力で壊れたりすることもあります。 ご存知のように、すべての問題は同様の形式に従っています。xは使用される唯一の変数であり、スペースはなく、括弧は各関数名の後に続きます。(関数であるsin、cos、tan、sec、csc、およびtan。)そこには、ネストされた機能はありませんが、関数の内部のような式であってもよいです3x+4.5か、-2-.7x。指数は使用できますが、関数(などsin(x-.5)^7)でのみ使用でき、累乗は常に1より大きい整数です。乗算は連結によって示されます。 出力もこの形式にする必要があります。無効:sin x、sin(x)/cos(x)tan(x)[正接が乗算または分割されている?]、cos(x[すべて閉じ括弧] 4*sin(x)、sec(x)^1 組み込みの簡略化関数や式処理関数に依存しない限り、どのプログラミング言語でも使用できます。組み込みのトリガー関数は問題ありません。(テスト中には非常に基本的な関数電卓を用意します。)また、紙に書かれたプログラムを読むので、印刷可能なASCII文字(0x20から0x7E)と改行しか使用できません。 1/(sec(x)) 4+sin(x)+3 (cos(7x+4)-sin(-3x))/(sin(-3x)) 2sin(x)2tan(x).25cos(x)^3cos(x)+1+1 7cos(x)sec(x)/(14tan(x)csc(x)) sin(x)cos(x)/sec(x) 8sin(x)cos(x)sin(x)/tan(x)+8sin(x) sin(x)^9cos(x)cot(x)sec(x)csc(x)sec(x)tan(x)/(cot(x)^2tan(x)cos(x)^4cot(x)sin(x)) tan(x)cos(x)csc(x) tan(x+1)sin(x-1)cos(x+1)^3tan(x-1)^2sin(-x+1)csc(x+1)tan(-x+1)/(cos(x-1)cot(x+1)) (cos(2x)+cot(2x)-sin(2x)+csc(2x)^3)/(cot(2x)+sin(2x)) cos(90-x)cos(x) sin(x+180)sec(450-x) tan(-x)sin(x+90)sec(x-90) tan(x+180)^2 cot(-x)cos(-x) cot(180-x)^3cos(270-x)^2 sin(.1x-.2)sin(.1x-.2)sin(.1x-.2)sin(.2-.1x)sin(.2-.1x) sin(x) sin(90-x)sin(x)+cos(90-x)/sec(x) tan(3x+2)cos(3x+2)/sin(3x+2)-1 cos(x)cos(x)cos(x)cos(x)cos(x) sec(2x+1)sec(-1-2x)+sec(-2x-1)sec(2x+1) cos(4x)cot(4x)tan(4x)sin(4x)csc(4x) -cos(x)+cos(x)+sin(2x-4)-1/csc(2x-4) sec(x)sec(x+2)cot(x)tan(x-2)tan(x+180) tan(x)(tan(x)) 3sin(x)sin(x)/(3) cos(x)sin(x) tan(x)sec(x)^2 tan(x)^2-sec(x)^2 7+sin(x)csc(x)csc(x)+cot(x)^2 sin(90)+cos(-90)+sec(180) csc(1)+csc(10)-csc(30)-csc(60)+csc(90) sin(36000001) …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.