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

順列は、オブジェクトのリストの特定の順序です。順列でタグ付けされた問題には、通常、テキストのアナグラムを含む順列の検索または生成が含まれます。

5
あらゆるサイズのデッキのパーフェクトシャッフルのサイクル長
チャレンジ 最短のコードで: 任意のサイズのカードのデッキ上に完全シャッフルの順列サイクルの長さを計算し、N(N ≥2及びnは偶数です)。 出力2≤のためのすべてのサイクルの長さのテーブルN ≤1000(nは偶数)。 完璧なシャッフルを定義するには、2つの基本的な方法があることに注意してください。あり、アウトシャッフル上に最初のカードと下部に最後のカードを保持し、かつそこにある中、シャッフル中央に向かって、最初と最後のカード1点の位置を移動し、。シャッフルするかシャッフルするかを選択できます。アルゴリズムは2つの間でほとんど同じです。 10カードデッキのシャッフル:[1,2,3,4,5,6,7,8,9,10]↦[1,6,2,7,3,8,4,9,5、 10]。 10カードデッキのシャッフル:[1,2,3,4,5,6,7,8,9,10]↦[6,1,7,2,8,3,9,4,10、 5]。 グラフィカルな例 ここでは、20カードデッキのアウトシャッフルのサイクル長が18ステップであることがわかります。(これは説明のみを目的としています。サイクルをグラフィカルに出力するためのソリューションは必要ありません。)一方、クラシック52カードデッキは、8段のアウトシャッフルサイクル長しかありません(図には示されていません)。 インシャッフル 20枚のカードデッキには、6つのステップのサイクル長を有しています。 出力の表形式の例 プログラムはこれに似たものを出力するはずですが、好きな表形式を選択することもできます。これはアウトシャッフル用です: 2 1 4 2 6 4 8 3 10 6 12 10 14 12 16 4 18 8 20 18 22 6 24 11 26 20 28 18 30 28 32 5 34 …

7
Anagram Quines(強盗のスレッド)
これは警官と強盗の挑戦です。警官のスレッドはここにあります 強盗としてのあなたの課題は、警官のスレッドから出力を取得し、プログラムとして実行したときに提供された元の出力を出力するアナグラムを見つけることです。 勝者は、この質問で最も有効なクラックを持つ人になります。 ルール 提供されたプログラムで安全とマークされた回答を解読することはできません。 警官が意図した解決策がある言語を提供する場合、その特定の言語でそれを解読する必要があります。彼らが選択しない場合、競合する言語で解読する可能性があります。 クインの標準ルールが適用されます。 クラックは完璧なクインであってはなりません。つまり、正確なソースを出力するのではなく、その順序を変更する必要があります(順序は警官によって提供されます)。

7
コードゴルフ:フェイリーシーケンス(I)
チャレンジ このタスクでは、整数N(10 ^ 5未満)が与えられ、次数NのFareyシーケンスが出力されます。 入力Nは1行で指定され、入力はEOFで終了します。 入力 4 3 1 2 出力 F4 = {0/1, 1/4, 1/3, 1/2, 2/3, 3/4, 1/1} F3 = {0/1, 1/3, 1/2, 2/3, 1/1} F1 = {0/1, 1/1} F2 = {0/1, 1/2, 1/1} 制約 入力数は10 ^ 6の値を超えません 任意の言語を使用できます 最短のソリューションが勝ちます!
10 code-golf  math  code-golf  math  code-golf  number  number-theory  code-golf  math  arithmetic  repeated-transformation  code-golf  geometry  popularity-contest  code-golf  code-golf  tips  haskell  math  fastest-algorithm  code-golf  combinatorics  code-golf  math  polynomials  rational-numbers  code-golf  code-golf  popularity-contest  javascript  code-golf  kolmogorov-complexity  code-golf  code-golf  math  combinatorics  permutations  code-challenge  restricted-source  random  array-manipulation  code-challenge  generation  code-golf  code-golf  ascii-art  arithmetic  division  code-challenge  number  code-golf  math  number  binary  code-golf  ascii-art  code-golf  interpreter  stack  code-golf  internet  networking  code-golf  math  code-golf  ascii-art  code-golf  math  sequence  code-golf  hello-world  restricted-source  code-golf  ascii-art  code-golf  geometry  code-golf  kolmogorov-complexity  pi  code-golf  math  combinatorics  permutations  code-golf  math  code-challenge  ascii-art  code-golf  string  code-golf  quine  code-golf  math  floating-point  golfscript  code-golf  string  code-golf  sliding-puzzle  code-challenge  arithmetic  code-golf  math  code-golf  geometry  optimized-output 

5
阿弥陀如来
日本や東アジアの文化に触れたことがあるなら、あみだくじゲームにきっと出会うことでしょう。 以下のようウィキペディアは説明して、それが紙の上に描かれた宝くじの一種であり、ランダムにN項目の順列を選択するために使用しました。 たとえば、N人に開始シーケンスをランダムに割り当てたり、N人にN賞をランダムに割り当てたりするために使用できます。 ゲームが順列を表す理由を理解するコツは、すべての水平ストローク(「レッグ」と呼ばれる)が2つのアイテムを所定の位置で交換することを認識することです。 同じWikipediaのページでも、N個の項目の順列Pはそれぞれ無数のアミダクジ図に対応していると説明されています。水平ストローク(脚)の数が最も少ないものは、その特定の順列Pの「素数」と呼ばれます。 あなたの仕事は、2つ以上の縦線(この例では6)のアミダクジ図を次の形式(文字を除く)で受け取ることです。 A B C D E F | | | | | | |-| |-| |-| | |-| |-| | | | | | |-| | |-| |-| | | | |-| |-| | | |-| | | |-| | |-| | |-| |-| | …

5
順列のステップ
整数のセットを取り、セットのすべての順列を出力する関数を記述し、各ステップ間でスワップを実行します 入力 整数のセット、たとえば(0、1、2) 出力 (set)(swap)(set)という形式の順列とスワップのリスト... テストケース Input: (3, 1, 5) Output: (3, 1, 5) (3, 1) (1, 3, 5) (3, 5) (1, 5, 3) (1, 3) (3, 5, 1) (3, 5) (5, 3, 1) (3, 1) (5, 1, 3) ルール 必要に応じて、数値セットをフォーマットできます。 スワップは任意の順序で行うことができます 新しいものを得るために順列と交換を繰り返すことができます コードは実際にスワップを実行する必要はありません。出力は、最後の出力と現在の出力の間で行われたスワップを示す必要があります。 コードは、2つ以上の要素を持つセットに対してのみ機能する必要があります 指定されたセットには繰り返し要素がありません(例(0、1、1、2)は無効です) これはコードゴルフなので、最短のコードが勝ちます!

2
クアルトにはいくつの抽選がありますか?
前書き この課題は、Project Eulerの問題に似ています。私はそれを思いついたのは、私が一見シンプルなボードゲームをプレイしていて、そのメカニズムに関する簡単な質問に答えるための効率的なソリューションを考え出せなかったからです。 Quartoは、4つの連続した楽しい変種です。これは、16個のユニークなピースを含む4 x 4のボードで再生されます(ピースは複製されません)。毎ターン、各プレイヤーはボードに1個の駒を置きます。各ピースには4つのバイナリ特性があります(ショート/トール、ブラック/ホワイト、スクエア/サーキュラー、ホロー/ソリッド)。目標は、4つの特性のいずれかについて、水平、垂直、または2つの対角線に沿って4つを連続して作成することです。つまり、4つの黒い部分、4つの白い部分、4つの高い部分、4つの短い部分、4つの正方形の部分、4つの円形の部分、4つの中空の部分、または4つの中実の部分です。 上の画像は完成したゲームを示しています。4つの正方形の駒があるため、4つ並んでいます。 チャレンジ クアルトでは、いくつかのゲームは引き分けに終わるかもしれません。 可能な終了位置の総数は16!、約20兆です。 それらの最終ポジションのいくつがドローですか? ルール ソリューションは、ドローであるエンドポジションの総数を計算して出力するプログラムでなければなりません。正解は414298141056 手動で推定されたゲームのルールの情報のみを使用できます(コンピューター支援の証拠はありません)。 問題の数学的簡略化は許可されますが、ソリューションで説明し、(手動で)証明する必要があります。 勝者は、CPU実行時間の点で最も最適なソリューションを持つものです。 勝者を決定するために、16 GB RAMを搭載したMacBook Pro 2,5 GHz Intel Core i7で、30m未満の報告された実行時間ですべてのソリューションを実行します。 他のボードサイズでも機能するソリューションを考え出すことのボーナスポイントはありません。それがいいのに。 該当する場合、プログラムは上記のハードウェアで1分以内にコンパイルする必要があります(コンパイラの最適化の乱用を避けるため)。 デフォルトの抜け穴は許可されていません 提出物 投稿してください: コードまたはコードへのgithub / bitbucketリンク。 コードの出力。 ローカルで測定された実行時間 あなたのアプローチの説明。 締め切り 提出期限は3月1日ですので、まだ十分な時間があります。

6
ベクトルのすべての異なる順列を出力します
チャレンジ: 正の整数の可能性のある長いリストのすべての異なる順列を出力します。テスト時にベクトルの数が1,000未満であると想定する場合がありますが、プロセスは理論的には、サイズに関係なく、複数の数値を持つ任意のベクトルで機能します。 制限: メモリ使用量をO(n ^ 2)に制限する必要があります。ここで、nは入力ベクトルの要素数です。O(n!)を持つことはできません。つまり、すべての順列をメモリに保存することはできません。 時間の複雑さをO(結果サイズ* n)に制限する必要があります。すべての数値が等しい場合、これはO(n)になり、すべてが異なる場合、これはO(n!* n)になります。つまり、順列を作成して、他のすべての順列と照合して、確実に区別することはできません(つまり、O(n!^ 2 * n)になります)。 時間とメモリの制限が満たされていることを示す経験的測定は受け入れられます。 順列を実際に印刷/出力する必要があります(それらを格納することは不可能であるため)。 プログラムを十分に長く実行すると、すべての順列が(理論的には)出力されるはずです! 明確な順列: リスト[ 1、1、2 ]には、[ 1、1、2 ]、[ 1、2、1]、および[ 2、1、1 ]の 3つの順列があります。出力の順序を選択できます。 管理しやすいテストケース: Input: [1, 2, 1] Output: [1, 1, 2] [1, 2, 1] [2, 1, 1] Input: [1, 2, 3, 2] Output: [1, 2, 2, 3] …

7
pseudoprimesをゴルフしましょう!
はじめに/背景 で、最近の議論で暗号チャット私は議論するために/のヘルプ挑戦されたフェルマー素数判定テストとカーマイケル数を。このテストは、a^(p-1) mod p==1常に素数に当てはまるがp、常にコンポジットには当てはまらないという前提に基づいています。カーマイケル番号は、基本的にはフェルマートのテストで最悪の敵です。取得するために同時に素数にならないように選択aする必要がある番号です。が共素数でない場合、本質的には、自明ではない因子を見つけましたpa^(p-1) mod p!=1apそして、誰もが知っているように、因数分解は非常に難しい場合があります。特に、すべての要素が十分に大きい場合。これで、Fermatテストが実際にはあまり使用されない理由がよくわかります(より優れたアルゴリズムがあります)。これは、(セキュリティの観点から)防御者としてのあなたが同じような量の作業を行わなければならない数があるためです。攻撃者(つまり、数を因数分解します)。 これらの数値が魅力的である理由がわかったので、可能な限り最短の方法で数値を生成します。必要に応じて、生成したコードを記憶することができます。 カーマイケル番号は、OEISではA002997としても知られています。関連する課題はすでに ありますが、サイズではなく速度が最適化されているため、ここからのエントリは競争力がありません。同じ議論が逆の方向にも当てはまり、ここのエントリはサイズを優先して速度とトレードオフをする可能性があります。 仕様 入力 これは標準のシーケンスチャレンジなので、正または負でない整数nを入力として使用します。n必要に応じて、0または1のインデックスを付けることができます(指定してください)。 出力 出力は、必要にn応じて、-番目のカーマイケル番号または最初のnカーマイケル番号のいずれかになります(指示してください)。 仕様 整数xは、xが複合である場合にのみカーマイケル数であり、のすべての整数yについてgcd(x,y)=1、それを保持しy^(x-1) mod x==1ます。 誰が勝ちますか? これはcode-golfなので、バイトで最短のコードが優先されます!標準のIOと抜け穴のルールが適用されます。 テストケース 最初のいくつかのカーマイケル番号は次のとおりです。 561,1105,1729,2465,2821,6601,8911,10585,15841, 29341,41041,46657,52633,62745,63973,75361,101101, 115921,126217,162401,172081,188461,252601,278545, 294409,314821,334153,340561,399001,410041,449065, 488881,512461
9 code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

13
比較チェーンを拡張
ほとんどの言語と異なり、Python a<b<cは数学で行われるように評価し、ブール値a<bをと比較するのではなく、実際には3つの数値を比較しcます。これをC(および他の多くの)で記述する正しい方法は、a<b && b<c。 この課題の課題は、このような任意の長さの比較チェーンをPython /直感的な表現から他の言語でどのように記述するかまで拡張することです。 仕様書 プログラムは演算子を処理する必要があります。 ==, !=, <, >, <=, >=。 入力には、整数のみを使用した比較チェーンがあります。 途中の比較の真実性について心配する必要はありません。これは、純粋に構文解析/構文上の課題です。 入力には、スペースで分割することで解析を簡単にする回答を防ぐための空白はありません。 ただし、出力には、&&' のみ、または比較演算子と&&'の両方のいずれか、または両方を囲む単一のスペースがある場合がありますが、一貫性があります。 テストケース Input Output --------------------------------------------------------------- 3<4<5 3<4 && 4<5 3<4<5<6<7<8<9 3<4 && 4<5 && 5<6 && 6<7 && 7<8 && 8<9 3<5==6<19 3<5 && 5==6 && 6<19 10>=5<7!=20 10>=5 && 5<7 && …
9 code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

30
int入力nを指定して、n * reversed(n)を出力します
整数nを指定して出力n * reversed(n) reversed(n)は、reverseの桁を取得したときに取得する数値ですn。 reverse(512) = 215 reverse(1) = 1 reverse(101) = 101 >>>>>>>> func(5) = 5*5 = 25 func(12) = 12*21 = 252 func(11) = 11*11 = 121 func(659) = 659*956 = 630004 最短のコードが勝ちます! リーダーボード コードスニペットを表示 var QUESTION_ID=144816,OVERRIDE_USER=71625;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var …
9 code-golf  math  arithmetic  code-golf  math  integer  code-golf  arithmetic  integer  code-golf  sequence  base-conversion  palindrome  code-golf  math  primes  integer  code-golf  parsing  conversion  syntax  code-golf  sequence  primes  code-challenge  geometry  optimization  code-golf  graph-theory  code-golf  number-theory  primes  integer  code-golf  source-layout  cops-and-robbers  code-golf  source-layout  cops-and-robbers  code-golf  sequence  primes  integer  code-golf  math  number-theory  primes  rational-numbers  code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

11
順列子を作成する
この課題では、リストを入力として受け取り、そのリストの順列を返す関数(関数は完全なプログラムである場合があります)を作成します。関数は次の要件に従う必要があります。 それは決定論的でなければなりません。 関数自体を可変回数で構成すると、任意の順列のリストを取得できるはずです。 これはコードゴルフの質問なので、回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。 さらなるルール あなたは、リストの任意のタイプ、(かかる場合があります[Integer]、[String]、[[Integer]]それ限り)を 空でないことができます 少なくとも16の可能な値を持つ個別のオブジェクトを含めることができます。(Haskellは使用できず[()]、関数はであると主張できませんid) 重複オブジェクトを含めることができます(セットなし) プログラムや関数を書くことはできますが、標準入出力に準拠する必要があります。

2
1000の最も一般的な単語
この質問は、「物事の説明者」が楽しく読めるから書いてありました。 文字、数字、およびこのようなもののセットを読み取り/受け取り、すべての単語がこのセットの一部である場合に"#%|?戻る「コンピュータに物事を実行させるもの」を記述します。True / 1 すべての単語がそのセットの一部ではない場合、そのセットの一部ではなかった単語を返します。 このウェブサイトは、すべての場合において正しいと見なすことができます。ルールはそのサイトの仕様に従うように書かれています。 例: Truthy: 最初の水平線より上のテキスト全体が入力として貼り付けられている場合、コードは真の値を返す必要があります。 次の行は真の値を返します(入力はで区切られています###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 偽り: 次の例では、入力と出力はで区切られてい***ます。異なるテストケースはで区切られ###ます。 This code doesn't return …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

15
マッピングをシャッフルする
マップをキーと値のペアのセットとして定義します。この課題では、各値を取得し、それらをランダムに選択されたキーに割り当てる必要があります。 値をランダムにシャッフルして、結果のマップを出力する必要があります。つまり、プログラムを実行するたびに、異なる出力が得られる可能性があります。 考えられる値の順列ごとに、出現する可能性がゼロ以外である必要があります。 元のキーと元の値はすべて、結果の配列に含まれている必要があります。繰り返される値は、結果の配列に同じ回数出現する必要があります。 たとえば、マップが次の場合: [0:10, 1:10, 5:5] 次のすべてが表示される可能性があります。 [0:10, 1:10, 5:5] (original map) [0:10, 1:5, 5:10] [0:10, 1:10, 5:5] (technically the same map, but I swapped the two tens) [0:10, 1:5, 5:10] [0:5, 1:10, 5:10] [0:5, 1:10, 5:10] 許容できる入力/出力: 言語のネイティブマップ キーと値のペアの配列を入力できます。キーを含む配列と値を含む配列の2つの配列を入力することはできません。 上記の文字列表現を使用できます 配列またはマップを入力した場合、返す代わりに元のオブジェクトを変更できます 入力タイプは出力タイプと一致する必要があります 配列を入力する場合、キーの順序を維持する必要があります。 キーは一意であると想定できますが、値が一意であるとは想定できません。 これはコードゴルフなので、できるだけ短く答えてください

6
対称グループSnの「偶数」順列を循環表記で出力します
タスク 定義 ポイント{1,2,3,4,5}とそれらのすべての順列を考慮してください。これらの5つのポイントの可能な順列の総数は、簡単なトリックで確認できます。5つのスロットをこれらのポイントで埋めるイメージ、最初のスロットは5つの可能な数字、2番目のスロットは4つ(最初のスロットを埋めるために使用されているため) 3番目の3など。したがって、順列の総数は5 * 4 * 3 * 2 * 1です。これは5になります。順列または120順列。これは対称群S5と考えることができ、対称群Snにはn! or (n*n-1*n-2...*1)順列があります。 「偶数」の順列とは、偶数の偶数の長さのサイクルがある順列です。(1 2 3)(4 5)順列1->2->3->1などの巡回記法で記述すると、最もわかりやすく、4->5->43つの長さのサイクル(1 2 3)と2つの長さのサイクルが1つずつあります(4 5)。順列を奇数または偶数として分類する場合、奇数長のサイクルを無視し、この順列[ (1 2 3)(4 5)]は奇数であると言います。例でも: (1)(2 3)(4 5)= 2つの2長さサイクル| EVEN | (1 2 3 4 5)=長さのサイクルはありません| EVEN | *長さのサイクルが存在しない場合、順列は偶数であることに注意してください。 奇妙な例: (1 2)(3 4 5)= 1つの2長さサイクル| ODD | (1)(2 3 4 …

4
キュレーターのジレンマ
前書き あなたは、美術館のキュレーターの友人です。美術館のキュレーターは、最近4人のアーティストから現代美術を手に入れることに喜びを感じています(そのうちの何人かは、キュレーターに芸術作品がないこともあります)。これはモダンアートであるため、アーティストの作品はすべてまったく同じに見えます。あなたの友達は、コンピュータを使用して、これらのピースをどの順序で配置するかを決定したいと考えています。 プログラムの要件 プログラムは5つの整数を受け取る必要があります(関数に渡されるか、stdinを介して入力されます(または何らかの方法で))。最初の4つは、4人のアーティストのそれぞれが提供した絵画の数です。最後の値は順列インデックスですi(0ではなく1から数えます)。キュレーターiは、絵画の辞書式順序による順列を見たいと考えています。 プログラムは、この順列を適切な形式で出力する必要があります。例:abbccdまたは[0 1 1 2 2 3]。合計で10枚に満たない入力の実行時間は1時間未満でなければなりません(これは問題ないはずです)。 組み込み関数を使用して順列を計算することはできません 例 入力:0 1 2 0 2 アーティストBの絵が1つ、アーティストCの絵が2つある(そしてそれらはすべて同じに見える)とすると、辞書式順序の順列は次のようになります。 ['bcc'、 ' cbc '、 'ccb'] 強調表示された順列は、辞書式順序の2番目であるため、正しい出力になります。 入力:1 2 0 1 5 ['abbd'、 'abdb'、 'adbb'、 'babd'、 ' badb '、 'bbad'、 'bbda'、 'bdab'、 'bdba'、 'dabb'、 'dbab'、 'dbba'] テスト中 正しいはずのテストをいくつか示します。 1 2 4 1 5 …

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