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

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

2
確率-どのくらい高くできますか?
以前に確率をすばやく正確に計算する方法について質問しました。しかし、明らかに、閉じた形のソリューションが与えられたので、それはあまりにも簡単でした!これはより難しいバージョンです。 このタスクは、確率を正確かつ迅速に計算するコードを記述することです。出力は、最も縮小された形式で分数として記述された正確な確率でなければなりません。つまり、出力んです4/8けど、むしろ1/2。 いくつかの正の整数の場合n、1と-1の長さの一様にランダムな文字列を検討し、nそれをAと呼びます。次にA、それ自体のコピーに連結します。これはA[1] = A[n+1]、1からインデックスを作成する場合A[2] = A[n+2]などです。 A今長さがあり2nます。ここでn、最初のn値が-1、0、または1であり、確率がそれぞれ1 / 4、1 / 2、1 / 4 である長さの2番目のランダムな文字列についても検討し、Bと呼びます。 今の内積考えるBとA[1+j,...,n+j]異なるためにj =0,1,2,...。 たとえば、を検討してくださいn=3。以下のための可能な値Aとは、B可能性A = [-1,1,1,-1,...]とB=[0,1,-1]。この場合、最初の2つの内積は0および2です。 仕事 それぞれについて、jで始まるj=1コードは、すべての最初のj+1内積がすべてゼロになる確率を出力する必要がありますn=j,...,50。 MartinBüttnerが作成したテーブルをコピーするj=1と、次のサンプル結果が得られます。 n P(n) 1 1/2 2 3/8 3 7/32 4 89/512 5 269/2048 6 903/8192 7 3035/32768 8 169801/2097152 スコア あなたのスコアは、j私のコンピューターでコードが1分で完了する最大のスコアです。少し明確にするために、それぞれjに1分を与えます。前のリンクされた質問の動的プログラミングコードは、これを簡単に実行しj=1ます。 タイ・ブレーカー 2つのエントリが同じjスコアを取得した場合n、私のマシンで1分間で最高のスコアを獲得したエントリが勝者となりますj。2つの最高のエントリがこの基準でも等しい場合、勝者が最初に送信された回答になります。 言語とライブラリ 自由に利用できる言語とライブラリを使用できます。私はあなたのコードを実行できなければならないので、可能であればLinuxでコードを実行/コンパイルする方法の完全な説明を含めてください。 私のマシンタイミングは私のマシンで実行されます。これは、AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。 …

5
確率を正確かつ迅速に計算する
[これは正確に確率を計算するためのパートナーの質問です ] このタスクは、確率を正確かつ迅速に計算するコードを記述することです。出力は、最も縮小された形式で分数として記述された正確な確率でなければなりません。つまり、出力んです4/8けど、むしろ1/2。 いくつかの正の整数についてn、1と-1の長さの一様にランダムな文字列を考え、nそれをAと呼びます。次にA、最初の値に連結します。これはA[1] = A[n+1]、1からのインデックスAが長さを持っている場合 n+1です。ここでn、最初のn値が-1、0、または1であり、確率がそれぞれ1 / 4、1 / 2、1 / 4 である長さの2番目のランダムな文字列についても検討し、Bと呼びます。 今の内積考えるA[1,...,n]とBとの内積をA[2,...,n+1]してB。 たとえば、を検討してくださいn=3。以下のための可能な値Aとは、B可能性A = [-1,1,1,-1]とB=[0,1,-1]。この場合、2つの内積は0および2です。 コードは、両方の内積がゼロである確率を出力する必要があります。 MartinBüttnerが作成したテーブルをコピーすると、次のサンプル結果が得られます。 n P(n) 1 1/2 2 3/8 3 7/32 4 89/512 5 269/2048 6 903/8192 7 3035/32768 8 169801/2097152 言語とライブラリ 自由に利用できる言語とライブラリを使用できます。私はあなたのコードを実行できなければならないので、可能であればLinuxでコードを実行/コンパイルする方法の完全な説明を含めてください。 タスク コードは、先頭がn=1nで、別の行にnが増えるたびに正しい出力を与える必要があります。10秒後に停止します。 スコア スコアはn、コンピューターで実行したときにコードが10秒後に停止する前に到達した最高点です。同点の場合、勝者が最も早く最高スコアに到達する人になります。 エントリの表 n = 64Python。Mitch Schwartzによるバージョン1 n …

1
悪いニュース、誰か
フューチュラマエピソードでは、乗組員のベンダの囚人のメンバーが遺体を交換しましたが、遺体のペアが2度以上心を交換することはできません。 チャレンジ 既に発生している心身のスワップの有効なコレクションを受け入れ、それぞれの心を元の体に戻す正当なスワップのセットを出力するプログラムまたは関数を記述します。これらの心身のコレクションの識別子は、改行を含まない文字列である必要があります。入力グループには、以前にスワップしたことがない2人まで(明確に名前が付けられた)人を追加できます。(必要な証明は、追加のボディが2つだけであること)ただし、問題を解決するために必要な最小限の人数を追加する必要があります。 入力と出力はどのような形式でもかまいませんが、追加の情報を格納することはできません。常に有効であると考えるかもしれません。これはコードゴルフなので、バイト数が最も少ない送信が勝者です。 例 [('A','B'),('C','D')] -> [('A','C'),('B','D'),('A','D'),('B','C')] ['A','B'] -> ['C','D','A','C','B','D','A','D','B','C'] [('A','B'),('C','D'),('A','C'),('A','D')] -> [('B', 'E'), ('A', 'E'), ('C', 'B'), ('C', 'E')] "A\nB\nC\nD\n" -> "A\nC\nB\nD\nA\nD\nB\nC\n" ショーからのもの: [("Amy","Hubert"),("Bender","Amy"),("Hubert","Turanga"),("Amy","Wash Bucket"),("Wash Bucket","Nikolai"),("Phillip","John"),("Hermes","Turanga")] 以下に示すショーのソリューションは無効です。 [("Clyde","Phillip"),("Ethan","John"),("Clyde","John"),("Ethan",Phillip"),("Clyde","Hubert"),("Ethan","Wash Bucket"),("Clyde","Leela"),("Ethan","Nikolai"),("Clyde","Hermes"),("Ethan","Bender"),("Clyde","Amy"),("Ethan","Hubert"),("Clyde","Wash Bucket")] イーサンとクライドはフライフィリップ、ゾイドバーグジョン、ヘルメスヘルメスがマシンをほとんど使用しなかったので不要なので、これは無効です。この場合の有効な解決策を以下に示します。 [("Philip","Hubert"),("John","Wash Bucket"),("Philip","Turanga"),("John","Nikolai"),("Philip","Hermes"),("John","Bender"),("Philip","Amy"),("John","Hubert"),("Philip","Wash Bucket")] 有効な入力には、明らかに多くの回答が考えられることに注意してください。いずれも有効です。
10 code-golf  math 

10
魔方陣を確認
魔方陣は、別個の正の整数1、2、...、からなる側面を有する数字の正方形アレイnは、nは ²の和ように配置n個の任意の横の数字、垂直、又は主対角線は常にに同じ数。これはマジック定数として知られています。 プログラムは、標準入力を介して、正方形の辺の長さを指定する数値を入力し、次に正方形内の数値を入力する必要があります。いいえ番号は複数回使用することはできません、以下の数より大きなNは ²使用することはできません、そして全ての数は、プログラム番号の組み合わせは魔方陣であるか否かを決定しなければならない0より大きくなければなりません。
10 code-golf  math 

4
アナグラムコード
もう一度やってみましょう。 このコンテストの目的は、互いにアナグラムである2つのコードを作成することです(2つは同じバイトを異なる順序で含む必要があります)。次のタスクを実行します。 入力された数値が幸せか素数かをテストし、数値がどちらかである場合は出力する7必要があります(たとえば、出力happy primeと4出力が必要sad non-prime)。 もう1つは、コードサイズをバイト単位でワードとして出力する必要があります(60バイトのプログラムが出力しsixty、39バイトのプログラムが出力しますthirty-nine)。 ルールの説明が必要な場合は、遠慮なく教えてください。 これはコードゴルフ大会なので、最短のプログラムが勝ちます!

5
Skolemシーケンスを生成する
スコーレムシーケンス A スコーレムシーケンスは、一連のある2nすべての番号の数字iの間1とは、n正確に2回出現する、との2つの出現の間の距離がi正確であるiステップ。Skolemシーケンスの例をいくつか示します。 1 1 1 1 4 2 3 2 4 3 16 13 15 12 14 4 7 3 11 4 3 9 10 7 13 12 16 15 14 11 9 8 10 2 6 2 5 1 1 8 6 5 次のシーケンスはスコーレムシーケンスではありません。 1 2 1 2 …

3
抵抗の計算(オタクの狙撃)
こんにちは、ゴルファー、 今日の私たちの挑戦は、XKCDのコミック356と370に触発されています。抵抗器のグループの抵抗を計算するプログラムを作成します。これはコードの挑戦であることを正当化するのに十分に厳しいものであることを事前に警告しますが、ゴルフ形式で少し複雑なプログラムを書くことには一定の芸術があると思います。最も少ない数のキャラクターが勝利します。 抵抗の計算は、次の2つの式に依存しています。 抵抗が直列の場合、抵抗は各抵抗の抵抗の合計です。 抵抗が並列の場合、抵抗は各抵抗の抵抗の逆数の合計の逆数になります。 だから-例えば: あなたの課題は、可能な限り少ない文字数で、最大64個の抵抗器のグループの抵抗を計算することです。特に入力ルールの複雑さについては、お詫び申し上げます。私は、すべての言語が使用できるようにそれらを定義しようとしました。 各抵抗は2つ以上の他の抵抗に接続されます。 入力は有効であることが保証され、1つのエントリと1つの出口ポイントのみが接続されます ネットワークは、提示されているものよりも多くの数学を必要としないようにするために直列並列になります 入力は、言語に適したものに応じて、ファイル、引数、またはstdinを介して行われます。 入力は、一連の改行またはスラッシュで区切られた、抵抗の抵抗の整数からなるステートメントと、抵抗の片側が接続されている抵抗のIDを区切るスペースで構成されます。 最初の抵抗のIDは1で、連続する抵抗ごとに1ずつ増加します。 開始のIDは常に0になります 最終的な抵抗は常に0オームの抵抗を持ち、そのラインで定義された接続のみを持ちます 例えば: 次のように表すことができます 3 0 6 1 1 0 5 0 0 2 3 4 出力は、標準出力またはファイルにすることができます。次のいずれかの方法で表すことができます。 小数点以下2桁以上の数字とそれに続く改行 整数(分子)、スラッシュ、別の整数(分母)で構成され、その後に改行が続く分数。分数は最低の形である必要はありません-たとえば4/4または10/8は許容範囲です。分数は1/100以内で正確でなければなりません。完全に正確であることにはボーナスはありません。これは、固定小数点演算や浮動小数点演算のない言語が競合できるようにするための松葉杖です。 それがすべての点をカバーしているといいのですが。幸運を!

3
ロゼッタストーンチャレンジ:箱ひげ図を描く
ロゼッタストーンチャレンジの目標は、できるだけ多くの言語でソリューションを作成することです。プログラミングの多言語性を自慢して見せてください! チャレンジ 課題は、できるだけ多くのプログラミング言語で、数値のリストを入力し、データの箱ひげ図を出力するプログラムを実装することです。箱ひげ図は、データの四分位数と外れ値を表示し、スケールも表示されます。これは主に言語のショーケースであるため、言語が持つあらゆる種類の標準ライブラリ関数を使用できます。 「箱ひげ図」とは何ですか? ボックスプロットは、データをグラフ化する方法です。ボックスプロットにはいくつかの重要な機能があります。最初の特徴はボックスで、どちらの側もデータの最初と3番目の四分位数にあります。ボックスプロットの中央には、中央値を示す線があります。ボックスプロットの両端には、データの分散を示すのに役立つ「ひげ」があります。ひげはボックスから外れ値を除いてデータセット内の最小および最大のポイントまで伸びます。外れ値は個別の点としてプロットされます。 まず、データの中央値を取ります。次に、中央値よりも厳密に小さいすべてのデータポイントを取得し、このセットの中央値を計算して、最初の四分位数(Q1)にします。中央値よりも厳密に大きいすべてのデータポイントを取得し、このセットの中央値を計算して3番目の四分位数(Q3)にします。の値を見つけますR = 1.5*(Q3 - Q1)。Q1 - Rこれより少ない数値は異常値です。より大きい数値Q3 + Rは外れ値です。外れ値ではないすべてのデータポイントのセットを取り、このセットの最小値と最大値によって2つのひげの端が決まります。 入力 入力はn=数字で始まります。次にn、1行に1つずつ数値が表示されます。すべての数値は0から63までの整数です。 n=8 29 1 22 18 12 16 16 22 出力 出力はボックスプロットのレンディションになります。プロットを描画する1つの可能な方法は、それをASCIIでレンダリングすることです。ボックスプロットは、ASCII以外のさまざまな方法でレンダリングできますが、主な要件は、重要なフィーチャの正確な位置を特定できるように十分に大きく描画されることです。箱ひげ図は、等間隔に配置された約5〜10個の数値で構成されるスケールを持つ必要があります。上記のデータのプロット例を以下に示します。 +--+----+ | | | X +-+ | +------+ | | | +--+----+ 0 0 1 1 2 2 3 0 5 0 5 …

6
音楽の内部の間隔のサイズを印刷する
バックグラウンド 洋楽では、すべての音符に名前が割り当てられています。各オクターブ内には、「CC#/ Db DD#/ Eb EFF#/ Gb GG#/ Ab AA#/ Bb B C」の順序で12の一意のノートがあり、最後のCは最初の1オクターブ上にあります。 異なるオクターブの音符の違いを伝えるために、数字(このチャレンジでは1桁に制限されています)が音名の最後に追加されます。したがって、C5はC4より1オクターブ高い音です。Bb6はB5の上にあります。 重要な事実は、B5とC6が隣り合っているノートであり、C0とB9が最低と最高のノートであることです。 2つの音符の間には、それらの間の半音の数である距離があります。Bb4はB4の1半音下にあり、それ自体がC5の1半音下にあります。1オクターブには12の半音があるため、Bb4はA#3から12の距離にあります。 チャレンジ あなたの課題は、STDINから音符のリストを取得し、間隔の変更のリストをSTDOUTに出力できる最短のプログラムを作成することです。 入力は、スペースで区切られた音符のリストです。各メモは、大文字のAG、オプションのbまたは#記号、および1桁の数字で構成されます。E#/ FbまたはB#/ Cbを処理する必要はありません。入力例: C4 D4 E4 F4 G4 A4 B4 C5 C4 出力は、連続する各ノート間の距離を表す整数のスペースで区切られたリストになります。常に前に+または-が付いて、ノートが前のノートと比較して昇順か降順かを示します。入力されたノートよりも常に1つ少ない数が出力されます。上記の入力の出力例: +2 +2 +1 +2 +2 +2 +1 -12 さらにいくつかの入力例: E5 D#5 E5 B4 E5 F#5 E5 B4 C0 B0 …

13
リストを使用した操作
この質問に触発されました。 数値を含むリストを指定して、印刷します。 リストの数値の合計と積 平均と中央値 リスト内の各用語の違い(例[1,2,3] -> [1,1]: 1+1=2, 2+1=3) 昇順で並べ替えられたリスト リストの最小値と最大値 リストの標準偏差 参考のために: 標準偏差 ここで、μは平均の平均、x iはiリストのth番目の項、リストNの長さです。 最短のコードが勝ちます。幸運を!

5
n個の異なる素因数を持つn番目の数
最短関数、プログラム、または算出式作成A073329に、すなわち、a(n)あるn番目持つ数n個の別個の素因数を。入力は、返されるシーケンス内の要素の数です。0 < n。整数の精度には関心がありません。アルゴリズムが欲しいだけです。任意の大きな整数をサポートしていない言語については、サポートするふりをします。 上記のOEISへのリンクをたどることで、テストケースを見つけることができます。 更新: プログラム、関数、または式から整数シーケンスを返す必要があることを明確にしましょう。つまり、1からまでのすべてf(x)を計算a(n)する必要があります。与えられた8の、あなたの関数が返す必要があり、配列または他の適切なデータ構造として。nxx2, 10, 60, 420, 4290, 53130, 903210, 17687670
10 code-golf  math 

3
飛行機のナビゲーション
あなたは地元の飛行機配達会社の飛行ルートの計画を立てられています。飛行機をA地点からB地点にルーティングする必要があります。Aから出発してB地点に飛行機を向けることはできませんが、卓越した風がコースを吹き飛ばすためです。代わりに、風を考慮して、飛行機がBに直接飛行するように飛行機をどの方向に向けるかを判断する必要があります。 入力 7つの浮動小数点数、A_x、A_y、B_x、B_y、S、W_x、W_yをエンコードします。これらは、出発地と目的地の座標、あなたの航空機の対気速度、及びXに沿って風の強さとy軸(風が吹く方向であるに対して、ではないから)。 出力 平面がBに直線で到達するように向ける角度(度数の正のx軸から反時計回りに回転)を印刷する必要があります。GROUNDED風が強すぎて旅行が不可能になる場合は、印刷します。 あなたは最も近い程度に丸めることができます、そしてあなたが望むどんな方法でもそうします(上/下/最近/ ...)。 例 入力 0 0 10 0 100 0 -50 0 0 10 0 50 -55 0 3.3 9.1 -2.7 1.1 95.0 8.8 1.7 出力 30 GROUNDED 229 最短のコードが勝ちます。
10 code-golf  math 

13
桁の積
与えられた正の整数Nに対して、Mの数字の積がNに等しくなるような最小の自然Mを見つける完全なプログラムを作成します。Nは1,000,000,000未満です。Mが存在しない場合は、-1を出力します。どのような場合でも、コードは10秒を超えてはなりません。 Sample Inputs 1 3 15 10 123456789 32 432 1296 Sample Outputs 1 3 35 25 -1 48 689 2899
10 code-golf  math 

4
多項式の長除算
2つの多項式を除算し、商と剰余を取得するアルゴリズムである多項式長除算を実装します。 (12x ^ 3-5x ^ 2 + 3x-1)/(x ^ 2-5)= 12x-5 R 63x-26 プログラムでは、定数項が末尾にある配列として多項式を表現します。たとえば、x ^ 5-3x ^ 4 + 2x ^ 2-x + 1は[1、-3、0、2、-1、1]になります。 作成する長除算関数は、商と剰余の2つの値を返します。数値の不正確さと算術エラーを処理する必要はありません。数学ライブラリを使用してジョブを実行しないでください。ただし、関数でシンボリック値を処理できるようにすることができます。最短のコードが勝ちます。 例: div([12, -5, 3, -1], [1, 0, -5]) == ([12, -5], [63, -26])

20
コイントスの半分の頭が出る確率を計算します。
標準入力から小さな正の偶数の整数を指定して、その多くのコインを反転させると、半分の頭数になる確率を計算するプログラムを記述します。 たとえば、2つのコインが与えられた場合、可能な結果は次のとおりです。 HH HT TH TT ここで、HとTは頭と尾です。コインの数の半分の頭数の2つの結果(HTおよびTH)があります。合計4つの結果があるため、確率は2/4 = 0.5です。 これは見た目より簡単です。 テストケース: 2 -> 0.5 4 -> 0.375 6 -> 0.3125 8 -> 0.2734375

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