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

組み合わせ論を伴う課題に。

30
賢い人のMira気楼
むかしむかし、Quoraでこの質問/回答を読んでいた FizzBu​​zzテストに合格できないコンピューターサイエンスの学位を持つプログラマーは本当にいますか このコードは明白な答えとして与えられます for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i もちろん、FizzBu​​zzは死ぬまでゴルフにかけられましたが、それはこの質問の目的ではありません。あなたはコメントで、4の倍数の印刷「ジャズ」などの追加条件を簡単に追加できるので、この明白な答えは素晴らしいと誰かが言及していることがわかります(同意しません。このスキームを拡張するにはO(2 ** n )コード行。) あなたの挑戦は、仲間によって判断されるようにFizzJazzBuzzの最も美しいバージョンを書くことです。 投票者が考慮すべき事項: ドライ 除算/モジュラス演算の効率 Quoraに関する回答の多くはPythonを使用していましたが、ここではそのような言語の制限はありません。 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

6
助けて!電卓が誤動作します!
前書き 電卓の動作がおかしい。入力するときにが8表示されることがあり2ます。そして時々私がタイプするとき6それは表示する+。いくつかのボタンが混同されています! 誰が私がどちらを決定するのを手伝ってもらえますか? チャレンジ: 入力:間違った方程式のリスト、正しい結果。 出力:交換される2つのボタン。 例: 入力は次のとおりです。 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 そのために期待される出力は、次のとおり2と*。 どうして?2と*を入れ替えると、すべての方程式が正しいからです。 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 チャレンジルール: 入力は任意の合理的な形式にすることができます。スペースで区切られた単一の文字列にすることができます。文字列リストまたは-array。方程式のリストと正しい結果の別のリスト。あなたの電話。使用した入力形式を明記してください! 注:これは-5--15、-5- -15またはとしてテストケースを入力できることも意味します-5 …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

14
nのすべての乗算パーティションをリストします
正の数で与えられたN、出力のすべての異なる乗法パーティションN任意の便利なフォーマットです。 nの乗法パーティションは、すべてが1より大きい整数のセットであり、その積はnです。たとえば、20には次の異なる乗法パーティションがあります。 2 * 2 * 5 2 * 10 4 * 5 20 順序は関係ないため2 * 2 * 5、と同じパーティションになり2 * 5 * 2ます。 例: 1 -> {} 2 -> {2} 4 -> {2, 2}, {4} 20 -> {2, 2, 5}, {2, 10}, {4, 5}, {20} 84 -> {2, 2, 3, …

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 …

20
与えられた長さの直鎖アルキネの数
直鎖alk * neは、単結合(アルカン)、二重結合(アルケン)、三重結合(アルキン)で接続された一連の炭素原子として定義されます(暗黙の水素が使用されます)。炭素原子は4つの結合しか形成できません。炭素原子に4つを超える結合を強制することはできません。直鎖alk * neは、その炭素-炭素結合のリストとして表すことができます。 これらは、有効な直鎖アルケンのいくつかの例です: [] CH4 Methane [1] CH3-CH3 Ethane [2] CH2=CH2 Ethene [3] CH≡CH Ethyne [1,1] CH3-CH2-CH3 Propane [1,2] CH3-CH=CH2 Propene [1,3] CH3-C≡CH Propyne [2,1] CH2=CH-CH3 Propene [2,2] CH2=C=CH2 Allene (Propadiene) [3,1] CH≡C-CH3 Propyne [1,1,1] CH3-CH2-CH2-CH3 Butane ... これらはそうではありませんが、少なくとも1つの炭素原子には4つ以上の結合があるためです。 [2,3] [3,2] [3,3] ... あなたの仕事は、正の整数が与えられると、正確に炭素原子の長さの有効な直鎖アルケンの数をn出力/返すプログラム/関数を作成することです。これはOEIS A077998です。n 仕様/明確化 を1返すことで正しく処理する必要があり1ます。 …

20
吸血鬼の互換性
吸血鬼に関するほとんど知られていない事実は、彼らが適合ドナー血液型を持っている犠牲者の血液を飲まなければならないということです。吸血鬼の互換性マトリックスは、通常の赤血球ドナー/レシピエントマトリックスと同じです。これは、次のアメリカ赤十字社の表で要約できます Type You Can Give Blood To You Can Receive Blood From A+ A+, AB+ A+, A-, O+, O- O+ O+, A+, B+,AB+ O+, O- B+ B+, AB+ B+, B-, O+, O- AB+ AB+ everyone A- A+, A-, AB+, AB- A-, O- O- everyone O- B- B+, B-, AB+, AB- …

4
すべての無料のn-ominoesを含む平面の最小領域
Math Stack Exchangeで、無料のn-ominoをすべて含むことができる最小の領域について質問しました。 用語が増えたら、このシーケンスを整数シーケンスのオンライン百科事典に追加したいと思います。 例 9セル領域は、以下に示すように、12個すべての無料の5オミノを含むことができる平面の最小サブセットです。(無料のポリオミノは、回転および反転できるものです。) (12セルの領域は、35個すべての無料の6オミノを含むことができる平面の最小サブセットです。) チャレンジ nの関数としてすべてのn-ominoesを含むことができる平面の最小領域の上限を計算します。 そのような表は始まります: n | size --+------- 1 | 1* 2 | 2* 3 | 4* 4 | 6* 5 | 9* 6 | 12* 7 | 37 8 | 50 9 | 65 *These values are the smallest possible. 提出例 1-omino: 1 …

1
難しいゲームを探す
あなたが退屈している場合にプレイする楽しいゲームは、Diffy Gameです。それは非常にシンプルで、多くの時間を消費できるワンプレイヤーゲームです。 Diffyゲームは次のように機能します。まず、負でない整数のリストから始めます。この例では、 3 4 5 8 次に、隣接する番号の絶対差を取ります (8) 3 4 5 8 5 1 1 3 その後、繰り返します。ループに入ったことに気付くまで繰り返します。そして、一般的にゲームは最初から再び始まります。 3 4 5 8 5 1 1 3 2 4 0 2 0 2 4 2 2 2 2 2 0 0 0 0 0 0 0 0 多くの場合、ゲームには目標がなく、頭の中で算術を行うことで時間を割いています。しかし、このゲームをプレイする喜びがあるとき、私の目標は常にある期間を選択して、その特定の期間でループするゲームを構築することです。 すべてのゲームが定期的であるわけではありません。たとえば、上の例は最終的にすべてゼロのゲームに到達し、開始位置に戻せないため、定期的ではありません。実際、ほとんどのゲームは、まれな宝石であるいくつかのゲームを定期的に作っているわけではないようです。 特定の期間でループするゲームを考えると、シーケンスを2倍にするだけで同じ期間でループする別のゲームを作成するのは簡単です。たとえば、ゲーム: 1 …

23
ケース順列
大文字と小文字のすべての順列を生成できる場合、大文字と小文字を区別せずに比較する必要があるのは誰ですか?誰も!それが答えです。誰もしません。あなたの仕事はこの偉業を達成することです。与えられた入力に対して大文字/小文字のすべての可能な順列を生成します。 入力 印刷可能な標準ASCII文字列。入力をすべて小文字と見なしてはなりません。入力は常に少なくとも1文字です。 出力 入力された文字列の大文字と小文字のすべての置換(重複なし)。これは、小さいバージョンと大きいバージョンの文字のみを変更する必要があります(数字は同じままです)。各順列は、文字列または文字のリストとして出力する必要があります。シングルトン文字列のリストは許可されていません。 例 a1a ['a1a', 'a1A', 'A1a', 'A1A'] abc ['abc', 'abC', 'aBc', 'aBC', 'Abc', 'AbC', 'ABc', 'ABC'] Hi! ['hi!', 'hI!', 'Hi!', 'HI!'] 得点 これはcode-golfであるため、最短回答(バイト単位)が優先されます。 おもしろいので、拡張アスキー文字を処理するのにどれだけの労力がかかるかを見てみましょう。追加のテストケースを次に示します。 ž1a -> ['ž1a', 'ž1A', 'Ž1a', 'Ž1A'] (プログラムはこれをサポートする必要はありません)

17
多項係数を計算する
すべてが参加できる簡単なチャレンジの時間です! 多項定理の状態: 括弧内の式は、次のように定義される多項係数です。 用語が可能にk個のIのすべての整数のパーティション上の範囲にn個与えるNパスカルの番目のレベルM -simplexを。あなたの仕事は、この係数を計算することです。 仕事 m個の数値、n、k 1、k 2、...、k m-1を取り、対応する多項係数を出力または返すプログラムまたは関数を記述します。プログラムは、必要に応じて、オプションでmを追加の引数として使用できます。k mは入力にないことに注意してください。 これらの数値は、多項係数の実際の計算がエンコードプロセスではなくコードによって実行される限り、任意の形式で入力できます。たとえば、リストにグループ化されるか、単項でエンコードされるなどです。 出力形式も同様に柔軟です。 nおよびmの場合、すべてのコードは1000 分まで1分未満で実行されます。 整数オーバーフローを心配しないでください。 多項係数を計算するために設計された組み込み関数は許可されていません。 標準の抜け穴が適用されます。 得点 これはコードゴルフです。バイト単位の最短ソリューションが勝ちです。 テストケース Input: 3, [2, 0] Output: 3 Input: 3, [1, 1] Output: 6 Input: 11, [1, 4, 4] Output: 34650 Input: 4, [1,2] Output: 12 Input: 15, [5,4,3,2] Output: 37837800 …

18
素因数の合計
2013年には素因数分解があり3*11*61ます。2014年には素因数分解があり2*19*53ます。これらの因数分解に関する興味深い特性は、2013年と2014年の因数分解に異なる数の素数が存在し、それらの合計が同じ数になることです11+61=19+53=72。 2番目の数の選択された素因数の合計に等しい1つの数の選択された素因数の合計が存在する場合、1より大きい2つの正の整数を入力として受け取り、真理値を返すプログラムまたは関数を記述します。それ以外の場合はfalsey値。 明確化 3つ以上の素因数を使用できます。数のすべての素因数を合計で使用する必要はありません。2つの数から使用される素数の数が同じである必要はありません。 数の因数分解で素数が1を超える累乗に引き上げられたとしても、その数の素数の合計で1回しか使用できません。 1は素数ではありません。 両方の入力数は未満になり2^32-1ます。 テストケース 5,6 5=5 6=2*3 5=2+3 ==>True 2013,2014 2013=3*11*61 2014=2*19*53 11+61=19+53 ==>True 8,15 8=2^3 15=3*5 No possible sum ==>False 21,25 21=3*7 25=5^2 No possible sum (can't do 3+7=5+5 because of exponent) ==>False これはコードゴルフです。標準ルールが適用されます。バイト単位の最短コードが優先されます。

10
フック長さ製品
A ヤング図は左詰め行及び上部詰め列のボックスの配置です。各ボックスについて、その上とその左のすべてのスペースが占有されます。 XXXXX XXX XXX X ボックスのフックの長さは、その行の右側にあるボックスの数であり、その列の下にあるボックスの数であり、それ自体も一度カウントします。たとえば、2番目のボックスのフックの長さは6です。 X**** X*X X*X X すべてのフックの長さは次のとおりです。 86521 532 421 1 ここでの目標は、フックの長さの積を計算することです8*6*5*2*1*5*3*2*4*2*1*1 = 115200。 (この式が重要な理由に興味がある場合は、フックの長さの式について読んでください。) 入力:行サイズのコレクション、[5,3,3,1]またはのような数字として、[[1,1,1,1,1], [1,1,1], [1,1,1], [1]]またはのような繰り返される単項記号として"XXXXX XXX XXX X"。リストは、必要に応じて昇順または降順で並べ替えることができます。リストは空ではなく、正の整数のみが含まれます。 出力:フックの長さの積。正の整数です。整数オーバーフローやランタイムについて心配する必要はありません。 特に若いダイアグラムまたは整数パーティションを扱うビルトインは許可されていません。 テストケース: [1] 1 [2] 2 [1, 1] 2 [5] 120 [2, 1] 3 [5, 4, 3, 2, 1] 4465125 [5, 3, …

24
任意のランダム性
ランダムネスは楽しいです。意味のない挑戦は楽しいです。 整数入力が与えられると、すべての整数の合計がに等しくなるように(両端を含む)の完全にランダムな整数のセット(順序なし、一意)をn出力する関数を記述します。n1n^2n^2 有効な各セットに発生する可能性がゼロ以外であれば、ランダム性は均一である必要はありません。 バイト単位の最短回答(各言語ごと)が勝ちです。 例 Input (n) = 1, Target (n^2) = 1 Sample of possible outputs: 1 Input = 2, Target = 4 Sample of possible outputs: 3, 1 1, 3 Input = 3, Target = 9 Sample of possible outputs: 6, 1, 2 3, 5, 1 4, 3, …

3
バブルを配置する
math.stackexchangeで尋ねられた質問からコピーされたチャレンジに注意してください。 最近、私は泡を吹く技術をかなり習得しました。最初は次のように泡を吹きます: しかし、その後、物事は奇妙になり始めました: しばらくして、かなり奇妙な泡を吹いていました。 数百個、場合によっては数千個のそのような泡を吹き飛ばした後、私の額は次の質問で突然しわになりました。たとえば、n = 1の場合、配置は1つだけです。n = 2の場合、2つの配置があります。n = 3の場合、4つの配置があります。n = 4の場合、9つの配置があります。 4つのバブルの9つの配置を次に示します。 これらすべての素晴らしい泡を吹き飛ばした後、私は彼らとのアレンジメントを数える喜びをあなたと共有すべきだと決めました。あなたの仕事は次のとおりです。 ゴール nバブルを配置できる方法の数を数えるプログラム、関数、または同様のものを作成します。 入力 n、泡の数。n> 0 出力 これらのバブルを配置できる方法の数。 受賞基準 あなたのコードの周りにバブルを吹き込むことができれば、本当にクールだろう。コードを小さくすればするほど簡単になります。したがって、最小バイト数でコードを作成した人がコンテストに勝ちます。 追加情報 OEIS

1
Android Lockパターンを把握する
友達が自分のパスワードをAndroidスマートフォンに入力しているのを見たとしましょう。彼らがどのようにパターンを作ったかは覚えていませんが、パターンがどのように見えるかは覚えています。あなたがあなたであるという懸念の友人であることは、彼らのパスワードがどれほど安全であるかを知りたいです。あなたの仕事は、特定のパターンを作成できるすべての方法を計算することです。 Androidパターンの仕組み パターンはノードの3x3グリッドに描かれます。パターンでは、画面から指を離さずに一連のノードにアクセスします。訪問する各ノードは、エッジによって前のノードに接続されます。留意すべき2つのルールがあります。 1つのノードに複数回アクセスすることはできません エッジは未訪問のノードを通過できません 通常、実行するのは非常に難しいため、実際のAndroidロックの組み合わせではあまり一般的ではありませんが、Knightのように移動することができます。つまり、一方の側から隣接していないコーナーに移動したり、反対側に移動したりすることができます。このような動きを採用したパターンの2つの例を次に示します。 これが実行されているアニメーションGifです。 パターンを解く 典型的なパターンは次のようになります。 このような単純なパターンでは、2つの方法でパターンを描画できます。2つのルーズエンドのいずれかから開始し、強調表示されたノードを介してもう一方に移動できます。これは多くのパターン、特に人間が通常使用するパターンに当てはまりますが、すべてのパターンに当てはまるわけではありません。 次のパターンを検討してください。 すぐに認識できる解決策が2つあります。左上から始まるもの: そして、下中央から始まるもの: ただし、線が選択されると、ポイントを通過することが許可されるため、上部中央から始まる追加のパターンがあります。 この特定のパターンには3つのソリューションがありますが、パターンには1〜4のソリューションがあります[要出典]。 それぞれの例を次に示します。 1。 2。 3。 4。 I / O ノードは、0から9までの整数、それらに相当する文字列、またはaからi(またはAからI)の文字として表すことができます。各ノードには、これらのセットのいずれかからの一意の表現が必要です。 ソリューションは、ノード表現を含む順序付けられたコンテナで表されます。ノードは、通過するのと同じ順序で並べる必要があります。 パターンは、ノードのペアの順序付けられていないコンテナで表されます。各ペアは、ペアの2つのポイントを接続するエッジを表します。パターン表現は一意ではありません。 パターン入力を標準入力メソッドを介して入力として受け取り、標準出力メソッドを介して同じパターンを作成するすべての可能なソリューションを出力します。 各入力には少なくとも1つのソリューションがあり、少なくとも4つのノードを接続すると想定できます。 希望する場合、または言語の選択により強制される場合は、順序付けられていないコンテナの代わりに順序付けされたコンテナを使用することを選択できます。 テストケース ノードを次のパターンで配置します。 0 1 2 3 4 5 6 7 8 ましょう{...}、順不同容器で[...]注文した容器であり、(...)ペアこと。 次の入力と出力は一致する必要があります {(1,4),(3,5),(5,8)} -> {[1,4,3,5,8]} {(1,4),(3,4),(5,4),(8,5)} -> {[1,4,3,5,8]} {(0,4),(4,5),(5,8),(7,8)} -> …

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