タグ付けされた質問 「integer-partitions」

正の整数の合計として整数を表現するさまざまな方法に関連する課題。

4
パーティションの逆数
数n> 77が与えられた場合、セットの合計がnに等しく、セットの逆数の合計が1になるように、明確な正の整数のセットを見つけるプログラムまたは関数を記述します。 80の例: 80 = 2 + 4 + 10 + 15 + 21 + 28⟶1/2 + 1/4 + 1/10 + 1/15 + 1/21 + 1/28 = 1 プログラムまたは関数は、(理論的には)n <2 32で動作する必要があり、浮動小数点の丸め誤差は許されません。n> 77のすべてのソリューションが存在することに注意してください。 バイト単位の最短コードが優先されます。 ボーナスインセンティブがあります。任意のnで機能し、log(n)を実行する最小のソリューションに賞金を授与します。nが小さい場合、高速である必要があります(私の判断で決定されます)。はい、これは可能です。

12
Landauの関数を計算する
Landauの関数 (OEIS A000793)は、対称群要素の最大次数を与えます。ここで、置換順序は最小の正の整数、が恒等式であり、これは置換のサイクル分解におけるサイクルの長さの最小公倍数に等しくなります。たとえば、は、たとえば(1,2,3)(4,5,6,7)(8,9,10,11,12,13,14)によって達成されます。g(n )g(n)g(n)SnSnS_nππ\pikkkπkπk\pi^kg(14 )= 84g(14)=84g(14) = 84 したがって、はの最大値にも等しくここでは正の整数です。g(n )g(n)g(n)lcm(a1,…,ak)lcm⁡(a1、…、ak)\operatorname{lcm}(a_1, \ldots, a_k)a1+⋯+ak=na1+⋯+ak=na_1 + \cdots + a_k = na1,…,aka1、…、aka_1, \ldots, a_k 問題 Landauの関数を計算する関数またはプログラムを作成します。 入力 正の整数。nnn 出力 g(n)g(n)g(n)、対称グループ要素の最大次数。SnSnS_n 例 n g(n) 1 1 2 2 3 3 4 4 5 6 6 6 7 12 8 15 9 20 10 30 11 …

11
デイ3のランダムゴルフ:整数分割
シリーズについて まず、これを他のコードゴルフチャレンジと同様に扱い、シリーズについてまったく心配することなく答えることができます。ただし、すべての課題にリーダーボードがあります。最初の投稿では、リーダーボードとシリーズに関する詳細情報を見つけることができます。 このシリーズにはたくさんのアイデアが並んでいますが、将来の課題はまだはっきりしていません。何か提案があれば、関連するサンドボックスの投稿でお知らせください。 穴3:整数分割 難易度を少し上げる時間です。 パーティション正の整数のは、nその和に正の整数のマルチセットとして定義されますn。例として、n = 5次のパーティションが存在します。 {1,1,1,1,1} {2,1,1,1} {2,2,1} {3,1,1} {3,2} {4,1} {5} これらはマルチセットであるため、順序はなく、{3,1,1}で{1,3,1}あり{1,1,3}、すべて同一であると見なされます。 あなたのタスクは、nのランダムなパーティションを生成することですn。詳細なルールは次のとおりです。 生成されるパーティションの分布は均一でなければなりません。つまり、上記の例では、各パーティションは1/7の確率で返される必要があります。 もちろん、PRNGの技術的な制限により、完全な均一性は不可能です。提出物の均一性を評価するために、次の操作は完全に均一な分布をもたらすと見なされます。 (ほぼ)均一であることが文書化されているPRNGから(任意の範囲で)数値を取得する。 モジュロまたは乗算(または値を均等に分散する他の演算)を介して、大きな数のセットにわたる均一な分布を小さなセットにマッピングします。大きいセットには、小さいセットの少なくとも1024倍の値が含まれている必要があります。 パーティションはマルチセットであるため、任意の順序でパーティションを返すことができ、この順序は一貫している必要はありません。ただし、ランダム分布の目的では、順序は無視されます。つまり、上記の例では{3,1,1}、{1,3,1}とが{1,1,3} 一緒に返される確率は1/7でなければなりません。 アルゴリズムには確定的なランタイムが必要です。特に、ランダムなマルチセットを生成し、合計がでない場合は拒否できませんn。 アルゴリズムの時間計算量はの多項式でなければなりませんn。特に、すべてのパーティションを単純に生成してランダムに選択することはできません(パーティションの数は指数関数的に増加するためn)。使用しているPRNGは、値ごとにO(1)で均一に分布した値を返すことができると仮定できます。 このタスクを解決する組み込み関数を使用しないでください。 完全なプログラムまたは関数を作成し、STDINまたは最も近い代替、コマンドライン引数または関数引数を介して入力を取得し、戻り値またはSTDOUT(または最も近い代替)に出力して出力を生成できます。 n ≤ 65(パーティションの数が2 21未満であると)仮定することができます。出力は、便利で明確なリスト形式または文字列形式です。 関数を送信する場合は、関数を何度も呼び出して結果を出力する小さなテストプログラムの提供も検討してください。コード内でパラメーターを調整する必要がある場合でも問題ありません。これは、ソリューションが少なくともほぼ均一であることを人々が確認できるようにするためです。 これはコードゴルフであるため、最短の提出(バイト単位)が優先されます。そしてもちろん、ユーザーごとの最短投稿もシリーズの総合リーダーボードに入ります。 リーダーボード シリーズの最初の投稿はリーダーボードを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、すべての回答を見出しで開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes (言語は現在表示されていませんが、スニペットはそれを必要とし、解析します。将来、言語ごとのリーダーボードを追加するかもしれません。)

15
最小限のフィボナッチチャレンジ!
チャレンジ このタスクでは、整数N(10 6未満)が与えられ、フィボナッチ数のみを使用してNを合計できる最小の方法を見つけます。このパーティションはZeckendorf表現と呼ばれます。 任意のフィボナッチ数を複数回使用することができ、複数の表現があれば出力します。 たとえば、入力が67の場合、可能な出力の1つはフィボナッチ数1,3,8,55を使用することです。これは合計67を取得するために使用できるフィボナッチ数の最小数でもあります。 入力Nは1行で与えられ、入力はEOFで終了します。 例 形式で与えられる input: output 0: 0 47: 34+13 3788: 2584+987+144+55+13+5 1646: 1597+34+13+2 25347: 17711+6765+610+233+21+5+2 677: 610+55+8+3+1 343: 233+89+21 3434: 2584+610+233+5+2 制約 入力の数は10 6個の値を超えません。 プログラムは、すべての入力に対して5秒以上実行しないでください。 任意の言語を使用できます。 最短のソリューションが勝ちます!

30
合計がnになる個別の整数の最大数を見つける
タスク 入力の正の整数n(1から使用言語の制限まで)が与えられると、合計がである個別の正の整数の最大数を返すか出力しnます。 テストケース fタスクに従って有効な関数を定義しましょう。 f1から始まるのシーケンス 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, ... より大きなテストケースとして: >>> f(1000000000) // Might not be feasible with brute-forcers 44720 テストコード 明示的に指定されていないテストケースの場合、コードの出力は次の結果と一致する必要があります。 public class Main { public static void …

28
逆モジュラスを計算する
タスク: の値を出力します。xここでa mod x = b、2つの値がありますa,b。 仮定 aそして、b常に正の整数になります 常に解決策があるとは限りません x 複数のソリューションが存在する場合は、少なくとも1つを出力します。 解決策がない場合は、何も出力しないか、解決策が存在しないという兆候を出力します。 組み込みが許可されています(他の数学的アプローチほど面白くありません) 出力は常に整数です 例 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

3
翼の順序を最適化する
このツイートは、中華料理店1の翼の可能な注文のリストです。 ピザを注文するとき、私は通常、簡単な計算である最高のピザ価格比を与えるサイズを計算します。しかし、このレストランでの注文の価格を最小化することはそれほど単純な作業ではないため、そこでの次の注文に備えたいと思います。 チャレンジ 444 例 100100100$111.20$111.20$111.20 [50,50],[25,25,50],[25,25,25,25] 222[50,50] ルール n≥4n≥4n \geq 4 nnn すべての可能な注文を返すことを選択できます テストケース 4 -> [4] (4.55) 23 -> [23] (26.10) 24 -> [6,18],[9,15],[12,12] (27.20) 31 -> [6,25] (34.60) 32 -> [4,28],[6,26],[7,25] (35.75) 33 -> [4,29],[5,28],[6,27],[7,26],[8,25] (36.90) 34 -> [6,28],[9,25] (38.00) 35 -> [35] (39.15) 125 -> [125] …

7
ビットを分割します!
は、合計がxになる2のべき乗のリストとして定義します。例えば、V (35 )= [ 32 、2 、1 ]。V(x)V(x)V(x)222xxxV(35)=[32,2,1]V(35)=[32,2,1]V(35)=[32,2,1] 慣例により、ここではパワーが最高から最低の順にソートされます。ただし、チャレンジのロジックや予想されるソリューションには影響しません。 仕事 半素数 与えられた場合、V (N )の各項を、この項を合計する別の2のべき乗のリストで置き換えます。結果として生じるすべてのサブリストの和集合は、次のように定義される行列Mの正確なカバーですNNNV(N)V(N)V(N)222MMM Mi,j=V(P)i×V(Q)jMi,j=V(P)i×V(Q)jM_{i,j}=V(P)_i \times V(Q)_j ここで、とQはNの素因数です。PPPQQQNNN これはいくつかの例で理解するのがはるかに簡単です。 例1 、我々は持っています:N=21N=21N=21 V(N)=[16,4,1]V(N)=[16,4,1]V(N)=[16,4,1] 及び V (P )= [ 4 、2 、1 ]P=7P=7P=7V(P)=[4,2,1]V(P)=[4,2,1]V(P)=[4,2,1] 及び V (Q )= [ 2 、1 ]Q=3Q=3Q=3V(Q)=[2,1]V(Q)=[2,1]V(Q)=[2,1] M=(844221)M=(842421)M=\pmatrix{8&4&2\\4&2&1} オンにの正確なカバーにM、我々は分割することができる16の中に8 + 4 + 4及び4に2 + 2ながら、1は変更されません。したがって、可能な出力は次のとおりです。V(N)V(N)V(N)MMM1616168+4+48+4+48+4+44442+22+22+2111 [[8,4,4],[2,2],[1]][[8,4,4],[2,2],[1]][ [ 8, …

25
シンプルなパターン
入力: 選択した入力形式での2つの1桁(それらをm、と呼んでみましょうn)と2つの文字(aとと呼んでみましょうb)。 出力: チュートリアルでは、のふりをしm=2, n=5, a='a', b='b'ます。 出力は、4つの入力から作成された文字列になります。resultvalueでstringを呼び出しましょう""。まず、CONCATENATE aへのresult m回なので、CONCATENATE aへresult 2回。resultに等しくなりましたaa。第二に、CONCATENATE bへのresult m回なので、CONCATENATE bへresult 2回。resultに等しくなりましたaabb。最後に、resultがすでにより長い場合n、resultlengthを持つように切り捨てnます。それ以外の場合は、のm長さの実行aとが長さになるbまで交互に続けます。最後は、長さです。resultnresultaabba5 テストケース: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

16
パーティションはいくつありますか?
正の整数のパーティション番号は、正の整数の合計として表現できるウェイの数として定義されます。言い換えれば、それが持っている整数パーティションの数。たとえば、番号4には次の部分があります。 [[1、1、1、1]、[1、1、2]、[1、3]、[2、2]、[4]] したがって、5パーティションがあります。これはOEIS A000041です。 仕事 与えられた正の整数Nは、そのパーティション番号を決定します。 すべての標準ルールが適用されます。 入力および出力は、合理的な手段で処理できます。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース 入力| 出力 1 | 1 2 | 2 3 | 3 4 | 5 5 | 7 6 | 11 7 | 15 8 | 22 9 | 30 10 | 42

4
ASCIIフィボナッチ時計を作成する
誰かがフィボナッチ数を使って本当に派手な時計を作りました。好きなように!これを作り直しましょう。 クロックは、1から始まる最初の5つのフィボナッチ数に対応する5つのセクションで構成されます(つまり、1、1、2、3、5)。 ccbeeeee ccaeeeee dddeeeee dddeeeee dddeeeee 時計は、5時間単位で12時間を表示できます。以下にその仕組みを示します。時間7:20を考慮してください。7時間目は、次のようにフィボナッチ数に分解できます。 7 = 2 + 5 5分の4単位もあります。4は次のように分解できます。 4 = 2 + 1 + 1 現在、時間は赤で、分単位のチャンクは緑で表示され、時間と分で数字が使用されている場合は青で表示されます。番号がまったく使用されない場合は、白のままです。したがって、上記は次のように表示されます。 BBGRRRRR BBGRRRRR WWWRRRRR WWWRRRRR WWWRRRRR しかし、待ってください、まだあります。上記の分解だけが可能性ではありません。7 = 3 + 2 + 1 + 1また4 = 3 + 1、とを書くこともできます。 GGRWWWWW GGBWWWWW GGBWWWWW GGRWWWWW BBBWWWWW or BBBWWWWW BBBWWWWW BBBWWWWW BBBWWWWW …

7
振動の平等
on [l, r]から始まる、時間単位ごとに1単位の速度で、2つの整数点間で振動するオブジェクトがあります。あなたが仮定することができます。たとえば、オブジェクトがで振動する場合、次のようになります。lt=0l < r[3, 6] t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 しかし、オブジェクトは継続的に振動するため、ともt=0.5 -> 3.5ありt=3.7 -> 5.3ます。 、の間[l1, r1]で振動する2つのオブジェクトが与えられた[l2, r2]場合t、2つのオブジェクトが同じ位置を共有するような時間が存在するかどうかを判断します。l1, r1, l2, r2任意の便利な形式でテイクを作成し、真実/偽の値を出力します。 真実の入力: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

10
最少100オペレーション
概要 数字のリストが与えられたら、100にするための最も少ない操作を見つけます。 入力 数字の列。数字の順序である場合とない場合があります。数字の順序を変更することはできませんが、プラス(+)またはマイナス(-)演算子をそれぞれの間に追加して、合計が100になるようにすることができます。 出力 追加された演算子の数と、それに続く数字と演算子の完全なシーケンス。2つは、スペース、タブ、または改行で区切ることができます。 例 有効な 入力:123456789 出力:3 123–45–67+89 無効な 入力:123456789 出力:( 6 1+2+34-5+67-8+9 より少ない操作でこれを解決する方法があります)

8
正確にnになる合計数の最小数
ここでの最初の質問は、これが重複するのか悪い挑戦なのかを私に怒鳴らないでください。 前書き 私はこの挑戦を自分で考えましたが、初心者のコード愛好家には良い基本的なパズルのようです。また、学習するコードゴルフ言語を決定するのに役立つかもしれません。 チャレンジ 以下の整数の配列が与えられた場合、n正確に合計する配列からの最小数の数値を出力または返しnます。 関数を書くか、完全なプログラムを書くかを選択できます。 入力 あなたは安全に仮定することができ0 <= n < 2^31ます。 任意の種類の配列またはリスト(vectorC ++またはJava LinkedListが許可されている場合)と、配列の長さを指定nするオプションのパラメーターを取りますlength。 入力はn、コンマまたはスペースで区切られたスペースで区切られた文字列として受け取ることもできます。 1 5 7 3 7 3 6 3 2 6 3,10 1 5 7 3 7 3 6 3 2 6 3 10 それが簡単な場合。 出力 出力するか、正確に合計する配列の最小数を返しnます。上記の例を使用します。 1 5 7 3 7 3 6 3 …

11
和のセットを見つける
このサイトを読んで楽しんできました。これが私の最初の質問です。編集は大歓迎です。 正の整数を考えると、NとMのすべての注文のパーティション計算メートルを正確にn個の部品の正の整数部分、およびそれらを印刷には、カンマと改行で区切られました。どの順序でも構いませんが、各パーティションは1回だけ表示される必要があります。 たとえば、m = 6およびn = 2の場合、可能なパーティションは正の整数のペアであり、合計は6になります。 1,5 2,4 3,3 4,2 5,1 [1,5]と[5,1]は異なる順序のパーティションであることに注意してください。出力は正確に上記の形式で、オプションの末尾の改行が必要です。(編集:パーティションの正確な順序は関係ありません)。入力/出力を介している標準コード-ゴルフI / O。 m = 7、n = 3の別の出力例: 1,1,5 1,2,4 2,1,4 1,3,3 2,2,3 3,1,3 1,4,2 2,3,2 3,2,2 4,1,2 1,5,1 2,4,1 3,3,1 4,2,1 5,1,1 1週間後のバイト単位の最小コードが勝ちます。 繰り返しますが、必要に応じて編集してください。 補遺: @TimmyDは、プログラムがサポートする整数入力のサイズを尋ねました。例以外にハードミニマムはありません。実際、出力サイズは指数関数的に増加し、おおよそ次のようにモデル化されます:lines = e ^(0.6282 n-1.8273)。 n | m | lines of output …

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