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

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

20
シーケンスにない整数の合計のシーケンス
バックグラウンド 次のように定義されたシーケンスを検討してください。 最初の要素は0です。 2番目の要素は4です。 3番目の要素以降、その値は次のように計算できます。 0からシーケンスの前の要素までの整数のセット(包括的または排他的、重要ではありません)を取得します。 シーケンスの前の方で既に出現した整数をセットから削除します。 セットの残りの要素を一緒に追加します。それがあなたが望む値です。 興味深いことに、このシーケンスはまだOEIS上にないようです。 タスク 入力として整数nを取り、シーケンスのn番目の要素を出力するプログラムまたは関数を作成します。 テストケース シーケンスの最初のいくつかの要素は次のとおりです。 0 4 6(1 + 2 + 3) 11(1 + 2 + 3 + 5) 45(1 + 2 + 3 + 5 + 7 + 8 + 9 + 10) 969(1 + 2 + 3 + 5 + …

16
オイラー数を出力する
負でない整数n,n,n ,、nthnthn^{\text{th}} オイラー数(OEIS A122045)を出力します。 奇数インデックスのオイラー数はすべて0.0.0 .偶数インデックスオイラー数は、下記式(で計算することができるi≡−1−−−√i≡−1i \equiv \sqrt{-1}は虚数単位を指します): E2n=i∑k=12n+1∑j=0k(kj)(−1)j(k−2j)2n+12kikk.E2n=i∑k=12n+1∑j=0k(kj)(−1)j(k−2j)2n+12kikk. E_{2n} = i \sum_{k=1}^{2n+1}{ \sum_{j=0}^{k}{ \left(\begin{array}{c}k \\ j \end{array}\right) \frac{{\left(-1\right)}^{j} {\left(k-2j\right)}^{2n+1}}{2^k i^k k} } } \,. ルール nnnは、nthnthn^{\text{th}}オイラー数が言語の表現可能な整数の範囲内での整数になります。 テストケース 0 -> 1 1 -> 0 2 -> -1 3 -> 0 6 -> -61 10 -> -50521 20 -> 370371188237525

11
シディ多項式係数の絶対和
バックグラウンド 次数nのSidi多項式(または(n + 1)番目の Sidi多項式)は、次のように定義されます。 シディ多項式にはいくつかの興味深い特性がありますが、係数も同様です。後者はOEISシーケンスA075513を形成します。 仕事 非負の整数を与え、ことをフルプログラムまたは機能を記述し、N、プリントまたは戻り度のシディ多項式の係数の絶対和をN、即ち これらの合計は、OEISシーケンスA074932を形成します。 1ベースのインデックス付けを希望する場合は、代わりに正の整数nを取り、n 番目の Sidi多項式の係数の絶対和を計算できます。 これはcode-golfであるため、コードをできるだけ短くする必要があります。すべての標準ルールが適用されます。 テストケース(0ベース) n Σ 0 1 1 3 2 18 3 170 4 2200 5 36232 6 725200 7 17095248 8 463936896 9 14246942336 テストケース(1ベース) n Σ 1 1 2 3 3 18 4 170 5 2200 6 …

2
画像のヒルベルト化
私はヒルベルト曲線が好きです。 この課題のタスクは、画像(すべての辺が2ピクセルの幅である厳密に正方形の画像)を取得し、ジグザグ形式で1行ずつ展開し、擬似ヒルベルト曲線で元に戻すことです。 。 解き明かす 解くには、左上隅のピクセルから始めて、画像の端に到達するまで右に進みます。画像の端に到達したら、次の行に移動し、再び端に到達するまで左に移動し始めます。行を切り替えるたびに行を解き続けて、1つの連続した曲線を取得します。これはヘビのよくプレイされるゲームのように見えるはずです 展開の結果は、すべてのピクセルを1回だけ含むピクセルの順序になります。 レラベリング ピクセルの順序が決まったら、擬似ヒルベルト曲線のパスに従って、新しい同じサイズのキャンバス上でピクセルを再配置します。以下のために2**nサイズの正方形の画像あなたは、擬似ヒルベルト曲線のn番目の反復を使用する必要があります。各ピクセルは、新しいキャンバス上のちょうど1つの場所に配置されます。元々左上のポイント(スネークカーブの開始点)がそのまま残り、右下のポイント(スネークカーブの終了点)が右上に配置されるように、イメージを展開する必要があります。 I / O プログラムまたは関数は、標準的な方法で指定された制約の画像を取り込み、標準的な方法で別の画像を出力する必要があります。 得点 これは、勝ちが最も少ないコードゴルフプログラムです。 例 入力 出力 入力 出力 入力 出力 また、空白の白または単色のイメージでテストして、ピクセルが欠落していないことを確認することをお勧めします。 あなたの答えにあなた自身の結果を含めてください。

1
円のリストが与えられたら、最小の包含長方形の面積を出力します
半径のリストが表示されます。すべてが収まる最小の長方形の領域を出力する必要があります。 たとえば、リスト[5,3,1.5]を指定すると、が出力されます157.460。 これは画像です: 幅は15.7460、高さは10なので、面積は157.460です ルール: stdinまたは関数の引数を使用してリストを取得し、stdoutまたは関数の戻りを使用して回答を出力します。 半径は、最大で小数点以下2桁です。 リストの長さは2〜6です。 出力は、小数点以下3桁以上の精度である必要があります。 必要な場合、π= 3.1416。 テストケース: [5,3,1.5] = 157.460 [9,4,8,2] = 733.431- ここで働いています。 [18,3,1] = 1296.000 バイト単位の最短コードが優先されます。

26
これはスミス番号ですか?
チャレンジの説明 スミス数である複合その和桁の素因数の桁の和の合計に等しい数。整数を指定してN、それがスミス数かどうかを判断します。 最初の数スミス番号は4、22、27、58、85、94、121、166、202、265、274、319、346、355、378、382、391、438(シーケンスA006753 OEISで)。 サンプル入出力 18: False (sum of digits: 1 + 8 = 9; factors: 2, 3, 3; sum of digits of factors: 2 + 3 + 3 = 8) 22: True 13: False (meets the digit requirement, but is prime) 666: True (sum of digits: 6 + 6 …

12
ゼロ配当
チャレンジの説明 すべての正の整数nには、すべてので始まりすべてで終わる10進数などで111...10...000割り切れる形式の数値が存在します。これは証明するのが非常に簡単です:(すべての)の形で異なる数のセットをとる場合、少なくとも2つは(鳩の巣の原理による)除算後に同じ剰余を与えます。これらの2つの数値の差は、割り切れ、希望する形式になります。あなたの目的は、この番号を見つけるプログラムを書くことです。n10n+1111...1111nn 入力説明 正の整数。 出力の説明 のようなp形式の数。複数ある場合は、それらのいずれかを表示します(最小のものである必要はありません)。111...10...000p ≡ 0 (mod n) ノート プログラムは妥当な時間内に答えを出さなければなりません。つまり、総当たり攻撃は許可されていません。 p = 0 while (p != 11..10.00 and p % n != 0) p++ どちらでもありません: do p = random_int() while (p != 11..10.00 and p % n != 0) の形式で数字を繰り返す11..10..00ことは許可されます。 プログラムは、任意の大きさの入力を処理する必要はありません-上限は、言語の上限になります。 サンプル出力 2: 10 3: 1110 12: 11100 …

25
多次元配列のインデックス
CやC ++などの低レベル言語には、実際には多次元配列の概念がありません。(ベクトルと動的配列以外)で多次元配列を作成する場合 int foo[5][10]; これは実際には単なる構文糖です。Cが実際に行うのは、5 * 10要素の単一の連続した配列を作成することです。この foo[4][2] また、構文糖です。これは実際に次の要素を指します 4 * 10 + 2 または、42番目の要素。一般に、要素のインデックス[a][b]の配列では、foo[x][y]です a * y + b 同じ概念が3D配列にも適用されます。foo[x][y][z]要素があり、要素[a][b][c]にアクセスする場合、実際に要素にアクセスします。 a * y * z + b * z + c この概念は、n次元配列に適用されます。次元を持つ配列があり、D1, D2, D3 ... Dn要素にアクセスする場合S1, S2, S3 ... Sn、式は (S1 * D2 * D3 ... * Dn) + …

30
単純な整数演算計算機
単純な整数演算のスクリプト可能な計算機を実装します。 概念 アキュムレータは0から始まり、操作が実行されます。プログラムの最後に、アキュムレーターの値が出力されます。 操作: +1アキュムレータに追加します -1アキュムレータから減算します * アキュムレータに乗算します 2 / アキュムレータを除算します 2 サンプルスクリプト 入力++**--/は出力を与えるべき3です。 実装例 def calc(s) i = 0 s.chars.each do |o| case o when '+' i += 1 when '-' i -= 1 when '*' i *= 2 when '/' i /= 2 end end return i end …

23
デジタルトライアングルでまとめる
まあ、本当にそれを要約します。 10進整数の空でないリスト(0-9)を取り込んで、最初の行の後のすべての数字が2桁の合計である入力リストを上部に持つ数字の下向きの「三角形」を出力するプログラムまたは関数を作成します。 10を法としてその上。 たとえば、入力に[7, 5, 0, 9]は出力があります 7 5 0 9 2 5 9 7 4 1 ためには、2ある(7 + 5) mod 10、5ある(5 + 0) mod 10、9ある(0 + 9) mod 10など、すべての方法1であること(7 + 4) mod 10。 リストに項目が1つしかない場合、出力は入力と一致します。例えばの入力[4]意志収率 4 追加の例を次に示します。 [0] 0 [1, 2] 1 2 3 [8, 7] 8 7 5 [0, …

11
良い素数間の最大のギャップを見つける
長さ、和、積がprimeである最大の素数を見つけるなどの質問の素晴らしい伝統に従って、これは最大の素数の挑戦の変形です。 入力 あなたのコードは何も入力してはいけません。 定義 素数pとはgood、p-1厳密に2異なる素因数がある場合です。 出力 あなたのコードを出力すべき連続した良い素数間の絶対差qとpそう|q-p|できるだけ大きく、qよりプライム最小の良い大きいですp。適切なペアをいくつでも出力でき、最後の出力がスコアとして取得されます。 例 最初の55個の良い素数のシーケンスはhttps://oeis.org/A067466です。 スコア あなたのスコアは、単に|q-p|あなたが出力した良い素数のペアのものです。 言語とライブラリ 素数性テストまたは整数の因数分解のためのライブラリ関数を除き、任意の言語またはライブラリ(このチャレンジ用に設計されていないもの)を使用できます。ただし、スコアリングの目的でコードをマシンで実行するため、Ubuntuでコードを実行する方法について明確な指示を提供してください。 私のマシンタイミングは私のマシンで実行されます。これは、8GB AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。 詳細 それより前にメモリが不足し始めない限り、2分後にコードを強制終了します。したがって、カットオフの前に必ず何かを出力する必要があります。 素数の外部ソースを使用することはできません。 Megoによると、Miller-Rabinは341,550,071,728,321(またはそれ以上)まで確定的にテストできるといいますが、確率的プライムテスト方法を使用できます。http://miller-rabin.appspot.com/も参照してください。 1からのすべての整数をチェックする最良のエントリ Goの猫による756 756 by El'endia Starman in Python C#の Adnanによる1932年(mono 3.2.8を使用) Pythonの Yetiによる2640(pypy 4.01を使用) C ++の Reto Koradiによる2754 Javaの Peter Taylorによる3486 RPythonの primoによる3900(pypy 4.01を使用) Javaのコーダーによる4176 大きなギャップを見つけるために多数の整数をスキップする可能性のある最良のエントリ 14226 by C …

15
二項の二乗を示す
(任意の方法で)2つの異なる自然数(任意の妥当なサイズ)が与えられ、以下の例のようにそれらの合計の2乗を(任意の方法で)出力します。 4と3の場合、出力: 12 12 12 12 9 9 9 12 12 12 12 9 9 9 12 12 12 12 9 9 9 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 12 16 16 16 16 12 12 …

5
高度な計算機
高度な計算機に入力される文字列を評価するプログラムを作成する必要があります。 プログラムは、stdinを使用して入力を受け入れ、正しい答えを出力する必要があります。stdinを受け入れる関数を持たない言語の場合、関数readLineを想定してprintこれらのタスクを処理できます。 要件: いかなる種類の「評価」関数も使用しません 浮動小数点数と負数を処理できます 少なくとも+、-、*、/、および^演算子をサポートします 通常の順序をオーバーライドするための括弧と括弧をサポート 演算子と数字の間に1 つ以上のスペースを含む入力を処理できます 標準の操作順序を使用して入力を評価します テストケース 入力 10 - 3 + 2 出力 9 入力 8 + 6 / 3 - 7 + -5 / 2.5 出力 1 入力 4 + [ ( -3 + 5 ) * 3.5 ] ^ 2 - 12 出力 …
28 code-golf  math 

30
「^」を使用せずに超指数関数/テトレーションを実装する
チャレンジ 実装テトレーション文字量が最も少ない(別名パワータワーやHyperexponentiationを)。 状況、契約条項 (例えば、「パワー」オペレータまたはその均等物を使用しないpow(x,y)、x^y、x**y等) 次のように入力しますx y(スペースで区切る) xはそれ自体で累乗されますy。 メソッドは少なくとも計算できる必要があります4 3(4はそれ自体で3回累乗されます) スコアリング 最低スコアの勝者:(文字数) 乗算演算子を使用しない場合のボーナス控除(-5ポイント)。 速度/メモリ要件はありません。あなたが望む限り取ります。 例 x, 0 -> 1 2, 2 -> 2^2 = 4 2, 4 -> 2^(2^(2^2)) = 65536 4, 3 -> 4^(4^4) = 4^256 = 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096 提案/変更/質問にオープン
28 code-golf  math 

21
プライムギャップを見つける
プライムギャップは、2つの連続するプライムの差です。より具体的には、pとqがp < qで素数で、p +1、p +2、...、q -1が素数でない場合、素数pとqはn = q − pのギャップを定義します。ギャップはpから始まり、長さnを持つと言われています。 任意の大きな素数ギャップが存在することが知られています。つまり、nが与えられた場合、長さn以上のプライムギャップが存在します。ただし、長さが正確にnのプライムギャップは存在しない場合があります(ただし、大きいギャップは存在します)。 チャレンジ 正の整数を指定するとn、長さn以上のギャップを開始する最初の素数を出力します。 例として、入力の場合4、出力はである必要があります7。7と11は、少なくとも4だけ異なる最初の連続した素数であるためです(前のギャップは、1から2から3、2から3から5、2から5です。 7)。入力について3は、答えも7(長さ3のギャップがない)である必要があります。 追加規則 アルゴリズムは、理論的には任意の高さで機能するはずnです。実際には、プログラムが時間、メモリ、またはデータ型のサイズによって制限されている場合でも問題ありません。 入出力は合理的な手段で取ることができます。 すべてのプログラミング言語で、プログラムまたは機能が許可されます。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 テストケース Input -> Output 1 2 2 3 3 7 4 7 6 23 10 113 16 523 17 523 18 523 30 1327 50 19609 100 370261 200 20831323

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