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

乱数や出力を含むタスク。

25
工場労働者
チャレンジ 工場労働者は通常非常に勤勉です。しかし、彼らの仕事は現在一般的に機械に置き換えられています。 入力として数値を取るプログラムを作成する必要があります。10人の労働者の工場を10回印刷します。毎回、各労働者は1/input「解雇」され、機械に置き換えられる可能性があります。 入力 STDINまたは関数呼び出しからの整数。 出力 工場の10件、通常より多くの労働者がそれぞれ解雇された。 出力形式-工場を印刷する方法 工場は次のようになります。 |0000000000| または |0000011001| パイプは壁を表し、0は作業者を表し、1は機械を表します|0000000000|。したがって、工場の最初の印刷は常にになります。 例 入力:10 出力: |0000000000| //always start off with this |0000000010| //a 1/10 chance means that this worker lost his job |0000010010| |0010010010| |1010010010| |1010110010| |1010110011| |1010111011| |1010111111| |1110111111| 入力:5 出力: |0000000000| //always start here |0000001001| //a 1/5 …

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 

5
ASCIIアートの非交差パスを生成する
2つの整数フィールドのサイズを表す入力、所与xとy、出力フィールドを介してパス。 の出力例5, 4: # # # ### ### # フィールド全体は5 x 4で、フィールドを横切るハッシュマークで構成されるパスがあります。 パスは常に左上隅から始まり、右下に行く必要があります。プログラムを実行するたびに、パス全体をランダム化する必要があります。有効なパスはすべて、可能な出力である必要があります。 パスのルールは次のとおりです。 ハッシュマークで作られた すべてのハッシュは、他の2つのハッシュにのみ接続されます(つまり、パスはそれ自体と交差または実行されません) ハッシュ以外のスペースは他の文字で埋めることができますが、一貫している必要があります(つまり、すべてのスペース、すべてのピリオドなど)。 例: 2, 2 ## # 3, 4 ## ## # # 5, 5 ##### # # # # 6, 5 ## ### # # # ## # # # ## # ### # …

8
職場での掃海艇
Windows XPに同梱されている古い掃海艇ゲームは誰でも知っています。これは、番号(それに隣接する地雷の数を示す)または地雷のいずれかを含む9x9のセルのマトリックスを持つ単純なグリッドです。 課題は、PRNGを自分で実装する場合、整数シード(マシン/言語の最大のintが何であれ)を与えられた10個の爆弾でランダムな9x9グリッドを生成することです。 出力例:セルには0〜8の数字または地雷の*が含まれます *101*1000 110111000 123210000 1***10000 123210011 00000002* 00000114* 000112*3* 0001*2121 バイト単位の最短コードが勝ちます。標準ルールなど。

4
圧縮された曜日
曜日のリストの入力が与えられると、リストの最短のソートされた表現を出力します。 入力の形式は、2文字のストリングの一つ以上からなる文字列であるSu(日)、 Mo(月)、 Tu(など)、 、We、Th、 FrおよびSa。入力は必ずしもソートされた順序で与えられるとは限りません。 入力を出力形式に変換するには、 入力を日曜日から始まる曜日で並べ替えます(例ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 あいまいさを残さない場合は、略語を1文字に減らします。たとえば、最初のSが土曜日になることができなかったため、にSuMoTuWeなるはずSMTWです。これにより、出力がソートされなくなります(Tと同じ)。しかし、ThFrSaなるはずThFS火曜日と木曜日の両方が金曜日前にそれを減らしてくると、TFSあいまいさを作成します。 出力がnowの場合、代わりMTWTFに出力D(「week day s」を表します)。同様に、SSなるはずE週間のために終了。最後に、 SMTWTFSなるべきAために、すべての日。 入力と出力は両方とも単一の文字列でなければなりません。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu TW …

11
クラップスのゲームをシミュレートする
クラップスは、カジノでよくプレイされるかなりシンプルなサイコロゲームです。あなたがギャンブラーでなくても(私はそうではありませんが)、それでもかなり面白いゲームです。ルールは次のとおりです。 クラップスのゲームの開始時に呼ばれるものがありますカムアウトラウンド。プレイヤーは2つのd6(6面ダイス)を振って、2つのダイスを追加します。結果が7または11の場合、その人が自動的に勝ちます(これは自然として知られています)。結果が2、3、または12の場合、その人は自動的に負けます(これは拍手crとして知られています)。それ以外の場合、結果はポイントラウンドのポイントとして設定されます。 この後、ポイントラウンドが始まります。ポイントラウンド中、プレイヤーは前のラウンドから7または彼/彼女のポイントをロールするまで、連続して2 d6sをロールしなければなりません。人が7を振った場合、負けとなります。彼らがポイントを転がすと、彼らは勝ちます。 チャレンジ がらくたのゲームをシミュレートする単純なプログラムを実装します。ユーザーがカムアウトラウンド中にナチュラルまたはクラップアウトをロールした場合、プログラムは「Natural:」または「Crapping out:」を出力し、その後にサイコロを出して終了します。それ以外の場合は、「Point:」に続いてポイントが出力されます。次に、ポイントラウンド中に、7またはポイントに達するまで、すべてのダイロールを出力する必要があります。人が勝った場合、出力する必要があります"Pass"。彼らがそれを失えば出力する必要があります"Don't Pass"。 参照実装 Groovy、277バイト def a={return Math.random()*6+1};int b=a()+a();(b<4||b==12)?{println"Crapping out: "+b}():{(b==7||b==11)?{println"Natural: "+b}():{println"Point: "+b;for(;;){int x=a()+a();println x;(x==7)?{println"Don't Pass";System.exit(0)}():{if(x==b){println"Pass";System.exit(0)}}()}}()}() オンラインでお試しください。 サンプル出力 Natural: 7 Crapping out: 3 Point: 9 4 8 11 9 Pass そして Point: 5 3 7 Don't Pass これはcode-golfなので、最短のコードが優先されます。 (免責事項:このチャレンジは、ギャンブルを促進することを意図したものではありません。家は常に勝ちます。)
18 code-golf  game  random 

4
D&Dキャラクターの能力スコアを転がす
Dungeons and Dragonsでは、キャラクターの最も重要な属性のいくつかは能力スコアです。6つの能力に対して、6つの能力スコアがあります。能力は、強さ、器用さ、憲法、知性、知恵、カリスマです。 キャラクターのスコアを決定するとき、私は次の手順を使用します:4d6をロールし、最も低いものを任意の順序でドロップします。これが意味することは、4つのサイコロを振って、最低の結果を無視し、残りの3を合計することです。これは6回行われます。結果の番号は、私が好きな方法で能力に割り当てられます。 能力にスコアを割り当てるために使用するシステムは、キャラクターのクラスに応じてキャラクターの最も重要なスキルに最高スコアを割り当て、誰もが憲法を必要とするため、2番目に高いスコアを憲法に割り当て、他の4つのスコアを任意に割り当てます。 さまざまなクラスで最も重要なスキルの表を次に示します。 Bard - Charisma Cleric - Wisdom Druid - Wisdom Fighter - Stregth Monk - Wisdom Paladin - Charisma Rogue - Dexterity Sorcerer - Charisma Wizard - Intelligence 課題:(入力として)キャラクターのクラスの最初の文字(大文字)を提供します。上記のようにアビリティスコアをロールし、アビリティに割り当ててから、強さ、器用さ、体質、知性、知恵、カリスマの順に出力してほしい。 例: Input: R Rolls: 4316 3455 3633 5443 2341 6122 Scores: 13 14 12 13 9 …
18 code-golf  game  random 

5
壊れたランダム関数を修正
友人のコンピューターにアドオンカードがあり、1から5までの完全に乱数を生成します。残念ながら、彼らは何とかコーラをこぼし、1から4までのすべての数値に対して2だけを生成します。幸いなことに、ランダム性は保持されますが、2は80%の確率で、5は20%の確率で、 1、3、または4が生成されます。このランダムなソース(それを呼び出すBrokenRand()か、類似のもの)を使用して、元のソースと同じ完全なランダム性で等しい20%の確率でそれぞれ1から5までの数を生成する動作乱数ジェネレーターを記述します。 最短のプログラムが勝ちます。BrokenRand人口統計学的に選択されたカスタマーサービスフォーカスコンサルタントによる公平な最低通話数に対して、年齢と性別に分類されたボーナスポイント-私。

15
私はソースを掛けます、あなたは(おそらく)出力を掛けます!
仕事 タスクは、一貫性のある任意の正の整数(厳密には0より大きい)を出力するプログラムを作成することです。キャッチは次のとおりです。ソースが回繰り返される(コードが自体に追加/連結される)場合、プログラムは確率でを出力し、残りの確率でそのまま出力する。バツxxNNNN− 1N−1N-11N1N\dfrac{1}{N}N⋅ XN⋅xN\cdot xN− 1NN−1N\dfrac{N-1}{N}バツxx 例 最初のソースがXYZintegerであり、integerを生成すると仮定しましょう3。次に: 以下のための:出力すべきの確率で(時間の50%)、およびの確率で、ならびに(50時間の割合)。N= 2N=2N=2XYZXYZ3331212\frac{1}{2}2 ⋅ 3 = 62⋅3=62\cdot 3=61212\frac{1}{2} 以下のための:出力すべきの確率で(時間の66.666パーセント)との確率での(33.333パーセント時間)N= 3N=3N=3XYZXYZXYZ3332323\frac{2}{3}3⋅3=93⋅3=93\cdot 3=91313\frac{1}{3} 以下のための:出力すべきの確率で(時間の75%)、および の確率での(25%時間)N=4N=4N=4XYZXYZXYZXYZ3333434\frac{3}{4}4⋅3=124⋅3=124\cdot 3=121414\frac{1}{4} 等々.... ルール 完全なプログラムを作成する必要があります。出力はSTDOUTに出力する必要があります。 あなたのプログラムは、理論的には、上記の確率で各可能な値を出力するはずですが、ランダムの実装によるこれからのわずかな逸脱は問題ありません(実装が異なる分布ではない場合-あなたは使用できませんバイトを節約するための正規分布)。 プログラムは、任意の大きな値について(再び、理論的には)動作するはず、しかし精度に起因する技術的な制限は、大規模の罰金です。NNNNNN 出力は基数10でなければなりません(他の基数または科学表記法での出力は禁止されています)。末尾/先頭のスペースと先頭のゼロは許可されます。 最初のソースは(もちろん)少なくとも1バイト長でなければなりません。ソースのコピー間で改行を使用することはできません。プログラムは入力を受け付けてはなりません(または未使用の空の入力を使用しないでください)。 これはcode-golfであるため、回答のスコアは(元の)ソースの長さ(バイト単位)であり、スコアが低いほど優れています。 注:この挑戦はの(かなり)難しいバージョンです、この1。

5
この番号はランダムですか?
私は尋ねたrandom.orgを 0と2の間に128個のランダムな整数の32 - 1.乱数生成器は、最初の最初の64個の数字を与えてとても熱望していたので、彼らは明らかにしているよりランダム他の64より。 次の64個の整数のいずれかが入力されたときに、真の結果を返す完全なプログラムまたは関数を作成します。 [1386551069, 1721125688, 871749537, 3410748801, 2935589455, 1885865030, 776296760, 614705581, 3841106923, 434616334, 1891651756, 1128215653, 256582433, 310780133, 3971028567, 2349690078, 489992769, 493183796, 3073937100, 3968540100, 777207799, 515453341, 487926468, 2597442171, 950819523, 1881247391, 3676486536, 3852572850, 3498953201, 2544525180, 297297258, 3783570310, 2485456860, 2866433205, 2638825384, 2405115019, 2734986756, 3237895121, 1560255677, 4228599165, 3106247743, 742719206, 2409129909, 3008020402, 328113612, …

9
XKCDカレンダーの事実
インスピレーション。許可を得て掲載。 可能なXKCDカレンダーの「事実」の1つを印刷します。 生のテキストと構造は、APLリファレンス実装またはExplain XKCDのトランスクリプト(図の下のタイトルテキストを含む)から取得できます。 ルール すべての決定ノードで、各選択肢に等しい(疑似)ランダムチャンスがなければなりません。 すべて大文字を使用できます。 3つの文を生成する必要があります。質問、理由、タイトルテキスト。 3つの文は、それぞれ、、およびで終了し?、互いに1つのスペースで区切る必要があります。.. 含めることができる余分な空白は、末尾のスペースや改行だけです。 例 Did you know that the Latest Sunset drifts out of sync with the Zodiac because of time zone legislation in Indiana? Apparently it's getting worse and no one knows why. While it may seem like trivia, it has to …

3
ドロップするまで描く
Dungeons&Dragons 5th edition(および他のほとんどのエディション)には、Deck of Many Thingsと呼ばれる魔法のアイテムが存在します。カードはすべて非常に強い正または負の効果を持っているため、非常に強力なアイテムです。デッキを使用するには、キャラクターが数字を宣言し、その数のカードを引き出します。効果は順番に適用されます。キャラクターが宣言したすべてのカードを描画せず、最後のカードが描画されてから少なくとも1時間経過している場合、残りのカードは自動的に描画され、効果が適用されます。各カードが描かれた後、それはデッキに戻され、デッキはシャッフルされます。 以下は、各カード1を引くことの効果のリストです: バランス:あなたの心はひどい変化を被り、あなたのアライメントが変化します。合法は混oticとし、善は悪となり、逆もまた同様です。あなたが真のニュートラルまたは非同盟である場合、このカードはあなたに影響を与えません。 コメット:遭遇する次の敵対的なモンスターまたはモンスターのグループを単独で倒すと、1レベルを得るのに十分な経験値を獲得します。そうでない場合、このカードは効果がありません。 ドンジョン:あなたは姿を消し、異次元の球体でアニメーションが中断された状態で埋葬されます。あなたが身に着けていて運んでいたものはすべて、あなたが姿を消したときにあなたが占有していた空間に留まります。あなたが発見され、球から取り除かれるまで、あなたは投獄されたままです。あなたは占いの魔法で見つけることはできませんが、願いの呪文はあなたの刑務所の場所を明らかにすることができます。これ以上カードを引きません。 エウリュアレ。カードのメデューサのような顔はあなたを呪います。この方法で呪われている間、あなたはスローをセーブすることで-2ペナルティを受けます。この呪いを終わらせることができるのは、神か運命カードの魔法だけです。 運命:Realityのファブリックは解きほぐされ、新たに回転します。これにより、1つのイベントを、発生しなかったように回避または消去できます。カードを引くとすぐ、または死ぬ前であればいつでもカードの魔法を使うことができます。 炎:強力な悪魔が敵になります。悪魔はあなたの破滅を求め、あなたの人生を苦しめ、あなたを殺そうとする前にあなたの苦しみを味わいます。この敵意は、あなたか悪魔が死ぬまで続きます。 愚か者:10,000 XPを失い、このカードを捨てて、デッキから再び引きます。両方の引きを宣言した引きの1つとして数えます。それほど多くのXPを失うとレベルが失われる場合、代わりにレベルを維持するのに十分なXPだけが残る量を失うことになります。 宝石:各2,000 gpに相当する25個の宝石、または各1,000 gpに相当する50個の宝石が足元に現れます。 白痴:インテリジェンスを恒久的に1d4 + 1(最小スコア1まで)減らします。宣言されたドローを超えて追加のカードを1枚引くことができます。 道化師:10,000 XPを獲得するか、宣言したドローを超えて2枚の追加カードを引くことができます。描いた後、このカードを捨てます。 キー:熟練したレアまたはレアな魔法の武器が手に現れます。GMは武器を選択します。 ナイト:あなたは、あなたの30フィート以内の選択したスペースに現れる第4レベルの戦闘機のサービスを獲得します。ファイターはあなたと同じ人種であり、運命が彼または彼女をあなたに引き寄せたと信じて、死ぬまで忠実にあなたに仕えます。あなたはこのキャラクターをコントロールします。 ムーン:ウィッシュスペルを1d3回キャストすることができます。 Rogue:GMが選択したノンプレイヤーキャラクターは、あなたに対して敵対的になります。新しい敵の身元は、NPCまたは他の誰かが明らかにするまでわかりません。願いの呪文や神の介入以外に、あなたに対するNPCの敵意を終わらせることはできません。 破滅:魔法のアイテム以外の、あなたが持っているか所有しているあらゆる種類の富はあなたに失われます。ポータブルプロパティは消滅します。所有しているビジネス、建物、土地は、現実をほとんど変えない方法で失われます。このカードで紛失したものを所有する必要があることを証明する文書もすべて消えます。 スカル。あなたは死のアバターを召喚します-ボロボロの黒いローブに身を包み、スペクトルの鎌を運んでいる幽霊のようなヒューマノイドのスケルトン。それはあなたの10フィート以内のGMが選択したスペースに現れ、あなたを攻撃します。あなたが死ぬか、ヒットポイントが0になるまでアバターは戦うので、消えます。誰かがあなたを助けようとした場合、ヘルパーは死のアバターを召喚します。死のアバターによって殺されたクリーチャーは、生き返ることができません。 スター:能力スコアの1つを2つ増やします。スコアは20を超えることができますが、24を超えることはできません。 Sun:50,000 XPを獲得し、不思議なアイテム(GMがランダムに決定します)が手に現れます。 Talons:あなたが身につけたり運んだりするすべての魔法のアイテムは崩壊します。あなたが持っているアーティファクトは破壊されませんが、消えます。 玉座:説得スキルの習熟度を獲得し、そのスキルで行われたチェックの習熟度ボーナスを2倍にします。さらに、世界のどこかにある小さなキープの正当な所有権を取得します。ただし、現在、キープはモンスターの手にあります。モンスターをキープする前にクリアする必要があります。 Vizier:このカードを引いてから1年以内にいつでも、瞑想で質問をすることができ、その質問に対する真実の答えを精神的に受け取ることができます。情報に加えて、答えは不可解な問題やその他のジレンマを解決するのに役立ちます。言い換えれば、知識はそれをどのように適用するかについての知恵を伴っています。 The Void:この黒のカードは災害を引き起こします。あなたの魂はあなたの体から引き出され、GMが選んだ場所のオブジェクトに含まれています。1人以上の強力な存在が場所を守っています。あなたの魂がこのように閉じ込められている間、あなたの体は無力化されています。願いの呪文はあなたの魂を回復することはできませんが、呪文はそれを保持するオブジェクトの場所を明らかにします。これ以上カードを引きません。 (D&D 5th edition SRDからコピーされたカードの説明) いくつかの特に愚かなプレーヤーは、有害なカードのバランスを取るために少なくとも1つの強力な恩恵を得ることを望んで、一度に多数のカードを引きます。予想されるように、これは多くの場合、キャラクターの死またはカードを引き続けることができないという結果になります。 チャレンジ 22枚の多くのモノのデッキから繰り返し描画をシミュレートし、描画された各カードを出力し、次の条件のいずれかが満たされた場合にのみ停止します。 キャラクターは死にます(Skullを引くか、FlamesまたはRogueを引いた後に5枚のカードを引くことで、The FatesまたはMoon active 2の恩恵は受けません)。 キャラクターは、より多くのカードを引くことができません(ドンジョン、タロン、ボイド3の効果、またはキャラクターの知能スコアが白痴4で 3以下に低下する)。 …
17 code-golf  random  game 

2
失われたRNGを作成する
Lostは、IPの開始位置と方向が完全にランダムな2次元プログラミング言語です。 これにより、決定論的なロストプログラムを作成することが非常に困難になります。しかし、今日は決定論的なプログラムを書いているのではなく、RNGを書いています。 入力を受け取らず、1桁(0、1、2、3、4、5、6、7、8、または9)を出力するロストプログラムを作成します。すべての数字は出力される確率が等しくなります。Lostの開始位置と方向がランダム性の唯一のソースであるため、これを行う唯一の方法は、ソースのすべての位置に0〜9の異なる数字を出力させ、各数字を同じ数字で出力することです。 -Qフラグを使用してこのpythonスクリプトにパイピングすることにより、各桁の確率を計算できます import sys a=sys.stdin.read().split()[:-1] for x in range(10):print x,':',a.count(`x`) print[x for x in a if x not in list("1234567890")] オンラインでお試しください! これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数が少ない方が優れています。 ロストの概要 Lostは、クラインの型から多くを奪う、暗黙のIO 2D言語のラッピングです。失われたコマンドの機能の簡単なチートシートを次に示します \、/、|ミラーIP <、^、>、vの方向でipポイント [IPが東に移動している場合、IPを反映します。]IPが水平方向に移動している場合になります ]IPが西に移動している場合、IPを反映します。[IPが水平方向に移動している場合になります ! 次の操作をスキップします ? スタックの一番上から飛び出し、ゼロでない場合はジャンプします : スタックの最上部を複製します $ スタックの上位2つのアイテムを交換します ( スタックからポップし、スコープにプッシュします ) スコープからポップしてスタックにプッシュします 0- 9プッシュnはスタックの最上部へ "文字列リテラルを開始および終了します。文字列リテラルでは、コマンドは実行されず、代わりに文字値がスタックにプッシュされます。 + 上位2つの数字を追加します * 上位2つの数値を乗算します …
17 code-golf  random  lost 

30
消える要素
文字列Sとインデックスのリストを指定すると、その結果をの新しい値として使用しながら、の各インデックスの要素を削除してX変更SしSますS。 例えば、与えられたS = 'codegolf'とX = [1, 4, 4, 0, 2]、 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

13
逆順列インデックス
前書き リストの辞書式の順列n個の要素は、0から番号を付けることができ、N!-1.たとえば、3!= 6個の順列が(1,2,3)あろう(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。 順列がリストに適用されると、その要素は順列の数字と同じ順序で並べられます。たとえば、yieldsに順列(2,3,1)を適用しl = (a,b,c)ます(l[2],l[3],l[1]) = (b,c,a)。 順列の逆は、この操作を逆にする順列として定義されます。つまり、順列を適用し、その逆(またはその逆)は配列を変更しません。たとえば、yの逆(2,3,1)は(3,1,2)、(b,c,a)yieldsに適用されるため(a,b,c)です。 また、順列自体に適用される順列の逆は、整数1… nを生成します。たとえば、yields に適用(3,1,2)し(2,3,1)ます(1,2,3)。 私たちは今、関数定義revind(Xをインデックスと順列の逆置換の指標として)のx。(興味がある場合、これはA056019です。) インデックスの順列ので、私は唯一の最後の変更のkリストの項目を場合に限っ 0≤ I < K!、我々は影響を与えずに、リストの先頭に任意の数の要素を追加することができますrevind(Iを)。したがって、リストの長さは結果に影響しません。 チャレンジ あなたのタスクはrevind(x)を実装することです。入力/引数として単一の非負整数xを取り、結果を単一の非負整数として出力/返す完全なプログラムまたは関数を作成します。 入力および出力は0インデックスまたは1インデックスの場合がありますが、これはそれらの間で一貫している必要があります。 インデックスによって順列を生成する、順列のインデックスを返す、または逆順列を見つける組み込み関数は禁止されています。(すべての順列または次の順列を生成するビルトインが許可されます。) 標準のコードゴルフ規則が適用されます。 例 以下の例は0から始まります。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 3628 2000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

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