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

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

6
Piを送信...正確に
Piのモンテカルロ推定量に続いて、この課題は定数Piの最短コードを生成することです。ここを除き、コードはpiの連続した数字を永久に出力する必要があります。 これはコードゴルフであるため、妥当なPCで10秒未満で最初の10,000桁を出力する必要があり、終了しないことを除いて、最短の提出(バイト単位)が勝ちます。 Piまたはtrig関数に組み込み関数を使用することはできません。 コードサイズのハード制限を削除しました。
11 code-golf  math  pi 

3
2x2固有システムを解く
少し線形代数の背景を持つ人にとって、課題はこれと同じくらい簡単です:与えられた複素2x2行列の固有値と固有ベクトルを決定します。I / Oの詳細などのチャレンジに進んでください。固有システムについて少し復習する必要がある場合は、先に進んでください。 バックグラウンド 特性方程式行列のAは、によって定義されます。 det| A - λI | = 0 ここで、λは複素数(スカラー)パラメーター、Iは単位行列、det | ... | ある行列が。多項式左側の評価さλは、特性多項式、2×2行列の場合には二次です。この特性方程式の解である固有値のA我々のように表すであろう、λ 1及びλ 2。 今固有ベクトルは V IのA満足を A vi = λi vi それぞれについてλ 私は、これは次の2つの未知数(のコンポーネントの2つの方程式系与えV 私は非常に簡単に解決することができます)、。システムは実際には指定不足であり、固有ベクトルの大きさは方程式によって決定されないことに気付くでしょう。通常、固有ベクトルは正規化されます。つまり、√(| x | 2 + | y | 2)= 1です。ここで、xとyはベクトル成分、| x |です。2はxに複素共役を掛けたものです。 注固有値が縮退であってもよいこと、すなわちλ 1 =λ 2。この場合、2つの線形独立な固有ベクトルを使用して、単一の連立方程式を満たすことができる場合とできない場合があります。 チャレンジ 複素数要素を含む2x2行列が与えられた場合、その2つの(おそらく同一の)固有値と、各固有値の正規化された固有ベクトルを決定します。結果の数値は、少なくとも3(10進数)有効数字まで正確でなければなりません。任意の行列要素の実数部と虚数部が[-1,1]の範囲にあると仮定できます。 STDIN、コマンドライン引数、プロンプトまたは関数引数を介して入力を取得して、関数またはプログラムを作成できます。結果をSTDOUT、ダイアログボックス、または関数の戻り値として出力できます。 入力および出力には、便利な(ただし明確な)文字列またはリスト形式を使用できます。個々の数値を表すために、フロートのペアまたは複合タイプから選択することもできます。 固有システム(Mathematica …

10
フィボナッチドミノタイル
あります古典的な組み合わせの結果タイルに、いくつかの方法があること2*nによって、ストリップ1*2ドミノがn 番目のフィボナッチ数は。あなたの目標は、nこれらの8つのタイルのようにダッシュと垂直線で描かれた特定のすべてのタイルを印刷することですn=5: |———— |———— ——|—— ——|—— |||—— |||—— ————| ————| ||——| ||——| |——|| |——|| ——||| ——||| ||||| ||||| n入力として必要な出力を出力するプログラムまたは名前付き関数を提供します。最少バイトが勝ちます。 入力 数n間1および10STDINまたは機能入力を介して包括的な。 出力 2*nストリップの可能なドミノタイルをすべて水平に描画して印刷します。タイルの順序は任意ですが、それぞれ1回だけ表示される必要があります。これらは空白行で区切る必要があります。 垂直ドミノは2つの垂直バー(|)で構成され、水平ドミノは2つのダッシュ(—)で構成されています。-ASCIIのままにするために、ダッシュの代わりにハイフン()を使用できます。 印刷出力が同じように見える限り、空白で何でもできます。

6
rとnが与えられた場合、xの最初の数字を最後に移動するとx / r = yになるxの最初のn個の数字を見つける
目的 入力が与えられ、最初の自然数rをn見つけて、最初の数字を最後の位置に回転させるとが得られます。nxx/r あなたはそれ2 <= r <= 9と仮定するかもしれません1 <= n <= 65535。 stdinまたはコマンドライン引数から入力を受け取るプログラムを作成できます。または、パラメータを取りr、nパラメータとして使用する関数を作成できます。ただし、出力は標準出力にする必要があります。出力はの値ごとに1行であるべきであり、増加する順番にxフォーマットされx/r=yていxます。 ソリューションは、妥当なデスクトップコンピューターで1分以内にすべての有効なケースを処理できる必要があります。 テストケース 入力:4 5 出力: 102564/4=25641 205128/4=51282 307692/4=76923 410256/4=102564 512820/4=128205 入力:5 1 出力:714285/5=142857 これはコードゴルフであるため、最小バイトが勝ちます。勝利の答えは、今から4週間後に受け入れられます(2014-09-19)。 この質問のクレジットは同僚に送られ、同僚がこの質問をここに投稿することができました:)

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

23
加算と減算のみを使用して、xまでのすべての平方を計算します
目標はx、加算と減算を使用して、すべての平方を計算することです。 ルール: コードは、生成する正方形の総数を取得し、それらすべての正方形を含む配列を返す関数でなければなりません。 文字列、構造、乗算、除算、または組み込み関数を使用して平方を計算することはできません。 配列、整数(整数)、加算、減算のみを使用できます。他のオペレーターは許可されていません! これはコードゴルフの質問なので、バイト単位の最短コードが勝ちです!
11 code-golf  math  number 

5
オイラーのフロント9
プロジェクトオイラーは、競争する(よく、遊ぶ)ためのもう1つの楽しいプログラミングチャレンジサイトです。初期の問題は穏やかに始まりますが、最初の100を超える難易度で爆発します。最初のいくつかの問題には、素数、倍数、因子を見つけることの間に共通性があるため、興味深いコードのマイクロ再利用の機会があります。 したがって、先験的な知識を使用せずに、最初の9つの問題を解決するプログラムを作成します。 問題は、呼び出し時の引数または実行中の標準入力を介して、ASCII '1'から '9'を含むユーザーによって選択されます。(すべての回答を計算できますが、表示できるのは1つだけです。) 正解は、ASCIIを使用して、基数10の新しい行に印刷する必要があります。 プログラムは1分以内に実行する必要があります(PEの提案)。 「事前知識なし」とは、外部リソースなしであなたのコードが答えを導き出さなければならないことを意味します‡。このようなプログラムは無効と見なされます(そうでない場合は、タイプミスをしないと仮定します)。 print[233168,4613732,6857,906609,232792560,25164150,104743,40824,31875000][input()-1] ‡問題#8(1000桁の数字を含む)の場合、外部ファイルから数字を読み取り、保存方法(バイナリ、テキスト、ヘッダー、インポートされたモジュールなど)を指定するか、回答投稿に含めるか(またはその両方)メインプログラムの長さにはカウントされません)。 スコアはバイト単位です。 15ユニコーンポイント™は、2週間後にバイトカウントリーダーに授与されました。
11 code-golf  math 

9
Stern-Brocotツリーで分数の位置を見つける
スターン- Brocotツリーは、各画分を上記のレベルでそれを隣接する2つの画分の分子と分母を添加することにより取得された画分の二分木です。 それは始まることによって生成される0/1と1/0そうように、一緒にこれらの画分の分子と分母を加えることによって分画の各連続対の間の1つの部分を配置することによって、反復、「エンドポイント画分」として、そこから: 0. 0/1 1/0 1. 0/1 1/1 1/0 2. 0/1 1/2 1/1 2/1 1/0 3. 0/1 1/3 1/2 2/3 1/1 3/2 2/1 3/1 1/0 4. 0/1 1/4 1/3 2/5 1/2 3/5 2/3 3/4 1/1 4/3 3/2 5/3 2/1 5/2 3/1 4/1 1/0 Stern-Brocotツリーの各反復(nth番目の反復)に2^n + 1は、シーケンス内の要素があり、そこから0/2^nに分数を割り当てることができ2^n/2^nます。新しい反復のたびに、連続する分数の各ペアの間に「中間」に1つの分数が挿入されます。 これにより、Stern-Brocotツリーは、正の有理数と0〜1の2進小数との間の1対1マッピングになり、2つのセットのカーディナリティが同じであるという証拠にもなります。 あなたの仕事は、最低項の正の有理数の分子と分母を与えられて、Stern-Brocotツリーにおけるその分数の位置に対応するバイナリ分数を決定するプログラムまたは関数を書くことです。 入力と出力の例を以下に示します。 …

6
演算* 3および/ 2のみを使用して、1を任意の正の整数に変換します
1から開始して一連の演算を適用することにより、正の整数を取得できます。各演算は、「3で乗算」または「2で除算して残りを破棄」します。 例(* 3にfを、/ 2にgを書き込む): 4 = 1 *3 *3 /2 = 1 ffg 6 = 1 ffggf = 1 fffgg 21 = 1 fffgfgfgggf 次の動作を持つプログラムを作成します。 入力:stdin経由またはハードコードされた任意の正の整数。(ハードコーディングされている場合、入力数値はプログラムの長さから除外されます。) 出力:(<input> = 1 <string>例のように)fとgの文字列。このような逆の順序の文字列も受け入れられます。注意:出力にはfとgのみが含まれているか、空です。 勝者は、41が入力である場合にプログラムと出力のバイトが最も少ないエントリです。

2
追加用にスーパーオプティマイザーを実装する
タスクは、ビットの合計の小さな論理式を見つけることができるコードを書くことです。 全体的な課題は、コードが可能な限り最小の命題論理式を見つけて、yバイナリ0/1変数の合計が値xと等しいかどうかを確認することです。変数をx1、x2、x3、x4などと呼びましょう。式は合計と等しくなければなりません。つまり、論理式は、合計がxに等しい場合にのみ真になります。 まず、これを行うための単純な方法を紹介します。y = 15、x = 5と言います。5つの変数を選択する3003の異なる方法をすべて選択し、それぞれの変数のANDと残りの変数の否定のANDを使用して新しい句を作成します。最終的に、それぞれ長さが正確に15の3003句になり、合計コストは45054になります。 あなたの答えは、Pythonに貼り付けることができるような論理的な表現でなければなりません、たとえば、私はそれをテストできます。2人が同じサイズの式を取得した場合、最も高速に実行されるコードが優先されます。 ソリューションに新しい変数を導入できます。したがって、この場合、論理式はyバイナリ変数、xおよびいくつかの新しい変数で構成されます。y変数の合計がxと等しい場合にのみ、式全体が満たされます。 最初の演習として、x = 2に追加するy = 5変数で開始したい人がいるかもしれません。単純な方法では、50のコストがかかります。 コードは2つの値yとxを入力として受け取り、式とそのサイズを出力として出力する必要があります。ソリューションのコストは、出力内の変数の生のカウントにすぎません。したがって(a or b) and (!a or c) 、4としてカウントされます。許可される演算子はand、orとのみnotです。 更新少なくとも理論的には、x = 1のときにこの問題を解決する賢い方法があることがわかりました。

1
指定された数値のリストと算術演算子を使用して数値を生成します
あなたは番号のリスト与えられL = [17, 5, 9, 17, 59, 14]、オペレータのバッグO = {+:7, -:3, *:5, /:1}や数をN = 569。 仕事 L左側のすべての数値を使用Nし、右側の数値のみを使用する方程式を出力します。これが不可能な場合は、Falseを出力します。ソリューション例: 59*(17-5)-9*17+14 = 569 制限と明確化 数字を連結することはできません([13,37]として使用することはできません1337) には自然数とゼロのみが表示されLます。 順序は関係ありLません。 ですべての数字を使用する必要がありますL。 唯一の事業者は+、-、*、/で表示されますO。 O必要以上の演算子を持つことができますが、少なくとも|L|-1演算子 各演算子は、の値まで何度でも使用できますO。 の4つの演算はすべてO、標準の数学演算です。特に、/正確な分数を持つ通常の除算です。 ポイント ポイントが少ないほど良い コードのすべての文字が1ポイントを与えます 読みやすい非ゴルフバージョンを提供する必要があります。 バックグラウンド 同様の質問はスタックオーバーフローに頼まれました。面白いコードゴルフの挑戦かもしれないと思った。 計算の複雑さ ピーターテイラーがコメントで言ったように、これでサブセット和を解くことができます: サブセット合計のインスタンスがあります(したがって、整数のセットSと数値x) L:= S + [0、...、0](| S |回ゼロ)、N:= x、O:= {+:| S | -1、*:| S …

22
投票のCファクターを見つける
この課題では、Cファクターと呼ばれる数を把握することにより、他の一連の投票が与えられた場合、投票がいかに物議を醸すかを決定します。Cファクターとは何ですか? まあ、あなたが選挙で複数の票を持っていると想像してください。選挙では、2つの異なる候補者を代表して使用することに1します0。これが私たちのサンプル選挙での10票です: 0110111011 ここで、候補者の投票のCファクターを見つけたいとしましょう0。次の関数でそれを行うことができます: f(o 、v )= a b s (o − m e a n (v ))f(o,v)=abs(o−mean(v)) f(o,v) = abs(o-mean(v)) で、我々はC-係数を決定したいの投票で、投票の配列です。したがって、私たちの関数を使用して、候補者の投票のCファクターを取得します。fffov0 f(0 、[ 0 、1 、1 、0 、1 、1 、1 、0 、1 、1 ] )= 0.7f(0,[0,1,1,0,1,1,1,0,1,1])=0.7 f(0, [0,1,1,0,1,1,1,0,1,1]) = 0.7 Cファクターが低いことは、投票が他の投票と比較して物議を醸しにくいことを示しています。したがって、候補者への投票は、候補者へ0の投票よりも他の投票とは異なり1ます。比較すると、候補者1投票のCファクターはであり、他の投票に似ているため、議論の余地はあまりありません。0.30.30.3 チャレンジ 関数を記述して、投票の結果から投票のCファクターを決定します。f(o 、v )f(o,v)f(o,v)ov o0またはのいずれかである必要があります1。 v ゼロと1を含む任意の長さの配列(または言語仕様に応じて同様のコンテナー型)である必要があります。 関数は、上記の式または変更されたメソッドを使用して、関数パラメーターが指定された結果のCファクターをコンソールに返すか、出力する必要があります。 …

6
本当に大きい数は大きいですか?
この質問は、より難しいパズルが好きな人にとって、トリッキーです(特に、「大きい数は大きいですか?」より難しいです)。 入力 整数a1、a2、a3、a4、a5、b1、b2、b3、b4、b5の範囲はそれぞれ1〜10です。 出力 True if a1^(a2^(a3^(a4^a5))) > b1^(b2^(b3^(b4^b5))) and False otherwise. ^はこの質問での累乗です。 ルール これはコードゴルフです。TIOでの有効な入力に対して、コードは10秒以内に正しく終了する必要があります。言語がTIOにない場合、コードはマシン上で10秒未満で終了するはずです。 Trueの場合はTruthy、Falseの場合はFalseyを出力できます。 テストケース 指数の規則により、a1 ^(a2 ^(a3 ^(a4 ^ a5)))== a1 ^ a2 ^ a3 ^ a4 ^ a5であることを思い出してください。 10^10^10^10^10 > 10^10^10^10^9 1^2^3^4^5 < 5^4^3^2^1 2^2^2^2^3 > 10^4^3^2^2 6^7^8^9^10 is not bigger than 6^7^8^9^10 10^6^4^2^2 < 10^6^2^4^2 …

4
平方根の桁ごとの合計の分数の継続
前書き あなたの仕事は、2の平方根と3の平方根の桁ごとの合計の継続分数表現で最初の1000項を生成することです。 つまり、次のリストを正確に作成します(ただし、出力形式は柔軟です)。 [2, 6, 1, 5, 7, 2, 4, 4, 1, 11, 68, 17, 1, 19, 5, 6, 1, 5, 3, 2, 1, 2, 3, 21, 1, 2, 1, 2, 2, 9, 8, 1, 1, 1, 1, 6, 2, 1, 4, 1, 1, 2, 3, 7, 1, 4, 1, …

3
素数を使用してリストを形成する
あなたはコインの山を与えられました。これらの各B 1、B 2、...、B Nパイルを別々のグループに分割することにしました。コインを受け取る人の数は素数でなければならず、各人に与えられる金額は山ごとに異なっている必要があります。 入力:N、B 1、B 2、...、B N(各山のコインの量)。 出力:NP 1、NP 2、...、NP N NPは、コインを受け取る人の数(素数)です。これが不可能な場合は、(のようないくつかの達成不可能な結果をもたらす0、-1、None、[]、または"impossible")、またはエラーを発生させます。 例: 3 7 8 9 出力: 7 2 3 7は、7を均等に分割できる唯一の素数であるため、8と2および9と3についても同じです。また、(7/7 = 1)≠(8/2 = 4)≠(9/3 = 3 )。

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