2
DSAのタレントロール
何人かの友人と私はDSA(主にドイツの卓上型RPGであり、D&Dによく似ています)をプレイしました。ロールをパスするチャンスは何なのだろうと思っていたので、それを計算するためにいくつかのコードを書く必要があります。 あなたのキャラクターは、統計(8から14)と(TV)タレント値(0から21)によって定義されます。ここでは、例として登山を使用します。 才能テスト タレント(クライミング)は次のようになります。(勇気-敏捷性-強さ)TV:7.キャラクターのタレントをテストするには、20面のサイコロでこれらの統計を転がし、統計以下になるようにします。あなたはそれをうまくやっています。そうでない場合は、TVポイントを使用して、ロールを1:1の比率で減らすことができます。 例 勇気12、器用さ13、強さ14のハンターが木に登ろうとしています。テレビは7です。 彼は3を振り、値は12未満なので、その目を通過しました。 それから彼は17を出して、17は13より4多いので、4台のテレビが残り3台で使い果たされます。 最後のロールでは、14のスポットがパスしました。 すべてのロールが通過し、ハンターはなんとか木に登ることができ、3台のテレビが残っています。 入力 言語の標準入力から取得した、選択した任意の形式の4つの値。ただし、この順序でなければなりません。 たとえば12 13 14 7、12,13,14,7または配列{12、13、14、7}または混合として[12, 14, 8], 3 出力 ロールが合格する頻度。 例(上記の値の場合)0.803 12,14,8,3 = 0.322 11,11,12,11 = 0.840 おまけについて:ここでもフォーマットは問題ではありませんが、次の順序で好きなように出力してください: failed/with 0/with 1/with 2/with 3/with 4/with 5/with 6/with 7 テレビがなくなるまで続けます。 12,13,14,7 = 0.197/0.075/0.089/0.084/0.078/0.073/0.068/0.063/0.273 12,14,8,3 = 0.678/0.056/0.051/0.047/0.168 チャレンジとルールとボーナス 入力を与えられた場合、ロールを+-0.5%の精度でパスするチャンスを見つける必要があります。 プログラムがnTVで合格するチャンスも出力する場合は-20%(出力を参照)。 これはcode-golfなので、バイト単位の最短コードが優先されます!