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

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

30
実際にはランダムではないランダムスクリプト
オフィスでのちょっとした冗談として、誰かが名前をランダムに選ぶスクリプトを望み、その人は飲み物を一杯飲むと言いました。 人々をジョン、ジェフ、エマ、スティーブ、ジュリーと呼びましょう。 一見ランダムに見えるスクリプトを作成するのは面白いと思いましたが、実際には常に出力と同じ人を指定します(選択したユーザー次第)。 1週間後の最高得票数 そして勝者は.... (現在)158票のポールR。 ここでの回答は素晴らしいものであり、まだ投稿されていない他のアイデアを他の誰かが持っている場合は、それらを追加してください、私はそれらを読むのが大好きです。

16
宇宙をシミュレートします!
チューリング完全言語の優れた特性の1つは、ユニバース全体のシミュレーションを含む、あらゆるプログラムの記述に使用できることです。 あなたの仕事はまさにそれをすることです:宇宙をシミュレートするプログラムを書く。 注:このタスクを達成できることは間違いありませんが、最近では、シミュレーション内の10 90個のパーティクルすべてが実際にすべきことを行うかどうかを検証するのに十分な余裕がありません。したがって、テストと評価を単純化するためだけに、ユニバースシミュレータが単一の開始パーティクルでのみ動作する場合は十分です。面白くするために、この粒子が最近発見されたヒッグスボソンであると仮定しましょう。 あなたの宇宙は、その中央にある約120 GeVの単一のヒッグスボソンだけで始まります。出力を長くしすぎないようにするには、5.4×10 -44秒という「通常のクロックレート」の代わりに、このユニバースをわずか10 -25秒で刻みましょう。 このヒッグス粒子は半減期が1.6×10 −22秒であるため遅かれ早かれ減衰するため、シミュレーションのティックごとに0.0433%の確率で減衰します。ここで何に崩壊するか確認できます。中心的で簡素化された要件を実現するために、使用する分岐比率をリストします。 シミュレーションを実行する シミュレーションの各ティックで、ヒッグス粒子は減衰する可能性が0.0433%あります。それが起こると、リストされた確率で、次の粒子に崩壊します(これらの名前を出力で使用する必要があります)。 ボトムクォーク+ボトムクォーク(64.8%) 2 Wボソン(14.1%) 2グルオン(8.82%) タウ・レプトン+アンチタウ・レプトン(7.04%) チャームクォーク+チャームアンチクォーク(3.27%) 2 Zボソン(1.59%) 2光子(0.223%) 1 Zボソン+ 1光子(0.111%) ミューオン+反ミューオン(0.0244%) トップクォーク+トップ反クォーク(0.0216%) 合計で100%。 これらの粒子の一部はさらに減衰します。 Wボソン:10 -25秒の半減期。これは、すべてのティックで50%の確率で等しい確率で次のいずれかに減衰することを意味します。 陽電子+ニュートリノ 反ミューオン+ニュートリノ アンティタウレプトン+ニュートリノ Zボソン:10 -25秒の半減期。これは、ティックごとに50%の確率で次のいずれかに減衰することを意味します。 ニュートリノ+反ニュートリノ(20.6%) 電子+陽電子(3.4%) ミューオン+反ミューオン(3.4%) タウレプトン+アンチタウレプトン(3.4%) ダウンクォーク+ダウンクォーク(15.2%) 奇妙なクォーク+奇妙な反クォーク(15.2%) ボトムクォーク+ボトムクォーク(15.2%) クォークアップ+クォークアップ(11.8%) チャームクォーク+チャームアンチクォーク(11.8%) トップクォーク:5×10 -25秒の半減期。これは、等しい確率で、すべてのティックで次のように減衰するチャンスが12.95%であることを意味します。 Wボソン+ダウンクォーク Wボソン+ストレンジクォーク Wボソン+ボトムクォーク もちろん、Wボソンもすぐに崩壊します... …

30
非決定論的な出力を生成する最短コード
非決定的である出力を生成する必要があります。 この場合、これは、出力が常に同じ結果になるとは限らないことを意味するように定義されます。 ルール: 常に同じシードを持つ擬似乱数ジェネレーターはカウントされません。 実行ごとに異なる(不明な)時間に実行されるプログラムに依存できます。 コードのプロセスID(インタープリターによって修正されない場合)は、非決定的であると見なすことができます。 Webベースのランダム性に依存する場合があります。 コードは空でない入力を受け付けません。関連するメタ投稿。 プログラムを停止する必要はありませんが、出力を表示する必要があります。 リーダーボード コードスニペットを表示 function answersUrl(a){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(a,b){return"https://api.stackexchange.com/2.2/answers/"+b.join(";")+"/comments?page="+a+"&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(a){answers.push.apply(answers,a.items),answers_hash=[],answer_ids=[],a.items.forEach(function(a){a.comments=[];var b=+a.share_link.match(/\d+/);answer_ids.push(b),answers_hash[b]=a}),a.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(a){a.items.forEach(function(a){a.owner.user_id===OVERRIDE_USER&&answers_hash[a.post_id].comments.push(a)}),a.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(a){return a.owner.display_name}function process(){var a=[];answers.forEach(function(b){var c=b.body;b.comments.forEach(function(a){OVERRIDE_REG.test(a.body)&&(c="<h1>"+a.body.replace(OVERRIDE_REG,"")+"</h1>")});var d=c.match(SCORE_REG);d?a.push({user:getAuthorName(b),size:+d[2],language:d[1],link:b.share_link}):console.log(c)}),a.sort(function(a,b){var c=a.size,d=b.size;return c-d});var b={},c=1,d=null,e=1;a.forEach(function(a){a.size!=d&&(e=c),d=a.size,++c;var f=jQuery("#answer-template").html();f=f.replace("{{PLACE}}",e+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link),f=jQuery(f),jQuery("#answers").append(f);var g=a.language;g=jQuery("<a>"+g+"</a>").text(),b[g]=b[g]||{lang:a.language,lang_raw:g,user:a.user,size:a.size,link:a.link}});var f=[];for(var g in b)b.hasOwnProperty(g)&&f.push(b[g]);f.sort(function(a,b){return a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase()?1:a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase()?-1:0});for(var h=0;h<f.length;++h){var i=jQuery("#language-template").html(),g=f[h];i=i.replace("{{LANGUAGE}}",g.lang).replace("{{NAME}}",g.user).replace("{{SIZE}}",g.size).replace("{{LINK}}",g.link),i=jQuery(i),jQuery("#languages").append(i)}}var QUESTION_ID=101638,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=34718,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:400px;float:left}table thead{font-weight:800}table td{padding:5px} <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id="language-list"> <h2>Shortest Solution by Language</h2> …
83 code-golf  random 

30
小さな「H」から「H」を作成する
チャレンジ 整数を指定するとsize、次のことを行う関数またはプログラムを作成します。 size1に等しい場合、出力 H H HHH H H 場合はsize1、出力よりも大きく、 X X XXX X X どこXのプログラム/関数の出力size - 1 (必要に応じて0、回答で指定する限り、ベースケースをに対応させることができます) 次の出力形式のいずれかが受け入れられますが、どちらがより便利です。 任意の二つの異なる文字に対応する必要な構造の文字列Hとspace 対応する任意の二つの別個の値を要求される構造を有する二次元アレイ、H及びspace 任意の二つの別個の値は、対応する各列における出力の一つの行と列/文字列のリスト、Hおよびspace 各行に一定量の先行スペースがある限り、先行スペースを使用できます。2つの異なる出力文字は、異なる限り、選択したものに依存します。 コードが返す出力形式を指定します。 テストケース 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

30
ゴルフイタチプログラム
リチャードドーキンスは彼の本The Blind Watchmakerでイタチプログラムについて説明しています。アルゴリズムは次のように説明できます。 28文字のランダムな文字列から始めます。有効な文字はすべて大文字とスペースです。 その文字列のコピーを100個作成し、その文字の文字ごとに5%の確率でランダムな文字に置き換えます。 新しい文字列をターゲット「METHINKS IT IS LIKE A WEASEL」と比較し、文字列内の正しい文字と正しい位置にある文字の数に応じてそれぞれにスコアを付けます。 新しい文字列のいずれかに完全なスコア(28)がある場合、停止します。 ステップ3から最高得点の文字列を選択します。タイの計算方法はユーザー次第ですが、選択できる文字列は1つだけです。選択した文字列を取得して、手順2に進みます。 勝者は、各世代の最高得点の文字列を次の形式で印刷しながら、正しい答えを得るための最短のコードスニペットになります。 人々が他の人々の答えをチェックすることで助けてくれるなら、とても役に立ちます!

30
あひる、あひる、ガチョウ!
子供向けのゲーム「ダック、ダ​​ック、グース」を覚えていますか?番号?私でもない。 挑戦 単語「duck」を個々の行に不定回数印刷します。 単語「グース」を印刷します。 プログラムは終了します。 ルール 最小バイトでゲームをプレイしてみてください。 少なくとも1羽のアヒルがいる必要があります。 リストの最後に、ちょうど1羽のガチョウがいる必要があります。 各行に正確に1羽の鳥がいる必要があります。空行はありません。 出力される文字列の大文字小文字は関係ありません。 行内の空白は問題ありません。 プログラムを終了する必要があります。 あなたのプログラムは一貫して同じ数のアヒルを生産してはいけません。 楽しんで! 注:この質問は、非決定的な出力を生成する最短コードの複製ではありません 理由は次のとおりです。 子供向けゲームへの関連付け 結果文字列の定義された開始および終了要件。他のチャレンジには指定された出力はありません。 回答他の場合、重複していないチャレンジは1桁のバイト数です。これの平均は約30、またはそこにあります。 この課題とその課題との重複量により、「ランダム」タグを含むコードゴルフの問題は重複します。それらをすべて削除する必要がありますか? このチャレンジに対するコードの回答は、他のチャレンジと一致します(途方もなく肥大化した方法で)が、そのチャレンジに対する回答はこのチャレンジと一致しません。
58 code-golf  random 

30
サイコロのゲーム、ただし6番は避けます[終了]
トーナメント終了! トーナメントは終了しました!最終シミュレーションは夜に実行され、合計ゲームでした。勝者は、ボットOptFor2Xを使用したChristian Sievers です。クリスチャンシーバーズは反乱軍と2位を確保することもできました。おめでとうございます!以下に、トーナメントの公式ハイスコアリストを見ることができます。3∗1083∗1083*10^8 それでもゲームをプレイしたい場合は、以下に掲載されているコントローラーを使用し、その中のコードを使用して独自のゲームを作成してください。 私は聞いたことがなかったサイコロのゲームをプレイするように招待されました。ルールはシンプルでしたが、KotHチャレンジには最適だと思います。 ルール ゲームの始まり ダイスはテーブルを一周し、自分の番になるたびに、好きなだけダイスを投げることができます。ただし、少なくとも1回はスローする必要があります。ラウンドのすべてのスローの合計を追跡します。停止することを選択した場合、ラウンドのスコアが合計スコアに追加されます。 だから、なぜあなたはダイを投げるのをやめるのですか?あなたが6を取得した場合、ラウンド全体のスコアがゼロになり、ダイスが渡されるためです。したがって、最初の目標は、できるだけ早くスコアを上げることです。 誰が勝ちましたか? テーブルの周りの最初のプレーヤーが40ポイント以上になると、最後のラウンドが始まります。最後のラウンドが始まると、最後のラウンドを開始した人以外の全員がもう1ターンを獲得します。 最終ラウンドのルールは、他のラウンドと同じです。投げ続けるか、停止するかを選択します。ただし、最終ラウンドの前のスコアよりも高いスコアを取得しないと、勝つチャンスがないことを知っています。しかし、あなたがあまりにも遠くに行き続けるなら、あなたは6を得るかもしれません。 ただし、考慮すべきルールがもう1つあります。現在の合計スコア(以前のスコア+ラウンドの現在のスコア)が40以上で、6をヒットした場合、合計スコアは0に設定されます。つまり、最初からやり直す必要があります。現在の合計スコアが40以上のときに6を押した場合、ゲームは通常通り続行しますが、現在は最後の場所にいます。合計スコアがリセットされても、最終ラウンドはトリガーされません。あなたはまだラウンドに勝つことができますが、それはより挑戦的になります。 勝者は、最後のラウンドが終了した時点で最高のスコアを獲得したプレーヤーです。2人以上のプレイヤーが同じスコアを共有する場合、それらはすべて勝利者としてカウントされます。 追加のルールは、ゲームが最大200ラウンド継続することです。これは、複数のボットが現在のスコアを維持するために6を押すまで基本的に投げ続けるケースを防ぐためです。199回目のラウンドに合格すると、last_roundtrueに設定され、さらに1ラウンドがプレイされます。ゲームが200ラウンドになった場合、最高得点のボット(またはボット)が勝者となります(40ポイント以上を持っていなくても)。 要約 停止するか6を得るまで、各ラウンドでダイスを投げ続けます。 ダイスを1回投げる必要があります(最初の投げが6の場合、ラウンドはすぐに終わります)。 6を取得した場合、現在のスコアは0に設定されます(合計スコアではありません) 各ラウンドの後に、現在のスコアを合計スコアに追加します ボットがターンを終了し、合計スコアが少なくとも40になると、他の全員が最後のターンを獲得します 現在の合計スコアがで6を獲得した場合、合計スコアは0に設定され、ラウンドは終了します。≥40≥40\geq 40 上記の場合、最終ラウンドはトリガーされません 最終ラウンド後の合計スコアが最も高い人が勝者です 複数の勝者がいる場合、すべてが勝者としてカウントされます ゲームは最大200ラウンド続きます スコアの明確化 合計スコア:前のラウンドで保存したスコア 現在のスコア:現在のラウンドのスコア 現在の合計スコア:上記の2つのスコアの合計 どうやって参加しますか このKotHチャレンジに参加するには、から継承するPythonクラスを作成する必要がありますBot。次の関数を実装する必要がありますmake_throw(self, scores, last_round)。その関数は、あなたの番であるときに呼び出され、最初のスローは6ではありませんでしたyield True。投げを停止するには、する必要がありyield Falseます。各スローの後、親関数update_stateが呼び出されます。したがって、変数を使用して現在のラウンドのスローにアクセスできますself.current_throws。また、を使用して独自のインデックスにアクセスできますself.index。したがって、独自の合計スコアを表示するには、を使用しますscores[self.index]。end_scoreを使用してゲームself.end_scoreのにアクセスすることもできますが、このチャレンジでは40になると安全に想定できます。 クラス内でヘルパー関数を作成できます。Botクラスプロパティをさらに追加する場合など、親クラスに存在する関数をオーバーライドすることもできます。譲歩Trueまたは以外の方法でゲームの状態を変更することはできませんFalse。 この投稿から自由にインスピレーションを求め、ここに含めた2つのボットのいずれかをコピーしてください。しかし、私はそれらが特に効果的ではないことを恐れています... 他の言語の許可について サンドボックスとThe Nineteenth Byteの両方で、他の言語での投稿を許可することについて議論しました。そのような実装について読んで、両側から議論を聞いた後、私はこの挑戦をPythonだけに制限することに決めました。これは、2つの要因によるものです。複数の言語をサポートするのに必要な時間と、安定性に達するまでに多数の反復を必要とするこの課題のランダム性です。引き続き参加してください。このチャレンジのためにPythonを学びたい場合は、できる限り頻繁にチャットに参加できるようにします。 質問がある場合は、このチャレンジのチャットルームに書き込むことができます。また会いましょう! ルール 妨害行為は許可され、奨励されています。つまり、他のプレイヤーに対する妨害行為 コントローラー、ランタイム、またはその他のサブミットをいじくり回そうとする試みはすべて失格となります。すべての提出物は、与えられたインプットとストレージでのみ機能します。 500MB以上のメモリを使用して決定を下すボットは失格になります(その量のメモリが必要な場合は、選択を見直してください) ボットは、意図的または偶然に既存の戦略とまったく同じ戦略を実装してはなりません。 …

27
進行中のクラッキング
これらのブルートフォースプログラムがパスワードを解読することを覚えていますか?より正確には、ある時点で、最初のn個の文字が固定され(それらは正常に推測された)、残りの文字のすべての可能な文字がテストされています。おそらく映画や、派手なインターフェイスが好きな人が書いたソフトウェアで見たことがあるでしょう。 がっかりして申し訳ありませんが、パスワードを解読するプログラムは作成しません。素敵な出力を再現するためのプログラムのみを作成します。 チャレンジ 印刷可能なascii文字を含むが改行を含まない文字列(asciiコード32〜126またはregexに一致^[ -~]{2,}$)を指定すると、次の規則に従って出力を印刷します。 時点t=n secondsで、n印刷されるn最初の文字は入力文字列の最初の文字です。 n固定文字の後に、ランダムな文字列(ユニコード範囲 から~(コード32から126)まで一様に擬似ランダムに選択された)で形成された文字列を追加して、最初の文字の長さの文字列を形成する必要があります。 少なくとも毎秒20行を出力する必要があります。各行のn最初の文字は同じですが、ランダムな終わりが異なります。 おそらく、あなたが何をすべきかはまだ明確ではないので、例を見てみましょう。 例 読みやすくするために、最小20行ではなく、1秒ごとに5行のみを印刷します。 入力を考慮してくださいabcde。 最初の1秒間、有効な出力は次のようなものになります(完全にランダム)。 dGuT4 S!jkN "gQ>[ TU3! *fAjV すると、t=1次のすべての文字列aの最初の文字は(入力の最初の文字)になります。 a);jD aHv^p aqw5* a|.?: a{gbK これでt=2、最初の2文字は次のようになりますab。 abTJ" ab\ e ab3T# abYWS ab"#< これでt=3、最初の3文字は次のようになりますabc。 abcvW abc3G abc(g abc{@ abc@4 これでt=4、最初の4文字は次のようになりますabcd。 abcdD abcdv abcdj abcd$ abcd6 最後にt=5、入力を出力します(一度だけ): abcde いくつかの精度 秒に向かって言語の精度を気にする必要はありません(つまり、アルゴリズムは正しいが、システム/言語の精度が不足している場合は問題ありません)。 最初の1秒は1秒より短くすることができます(つまり、1秒の間にプログラムを起動した場合、最初の1秒は現在の秒の終わりまでの残り時間になります)。別の言い方をすれば、出力の印刷を開始するために新しい秒の開始を待つ必要はありません。 …

10
リトルチャンドラーは悲しい。彼を元気づけるために彼に雲を引きます
リトルチャンドラーは悲しい。彼を元気づけるために彼に雲を引きます。 注:クラウドを描画しても、実際に彼を元気づけることはありません。 円は、3組として定義できます。(x,y,r)ここxで、デカルト平面上の円のx位置、デカルト平面上の円yのy位置、およびr円の半径です。xそしてy負でもよいです。r常にポジティブです。入力は、スペースで区切られた3タプルの形式の円のリストです。例えば: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 3,1,1手段「に中心点を有する円3,11つの半径を有する。3,2,1.5手段」に中心点を有する円3,21.5半径を有します。 入力のこれらの円をすべてグラフに描画すると、次のようになります(わかりやすくするためにグリッド線とラベルを含めましたが、これらは必須ではありません)。 すべての円が凝集していることに注目してください。つまり、それらはすべて互いに重なり合っており、1つの大きなグループを形成し、残りの部分から分離された小さな円のグループはありません。入力は凝集性が保証されています。 ここで、これらの円によって形成される「境界線」の周りを移動する線を描き、他の線は一切ないとします。これは、すべての円によって形成されるシルエットの境界線を描くようなものです。結果のクラウドは次のようになります。 そのため、このクラウドは、境界を形成する入力内の円の円弧のみを描画することで形成され、単一の形状になります。言い換えると、クラウドは、別の円内にないアークを描くことによって形成されます。プログラムは、上記で説明した形式で入力を受け取り、結果のクラウドを表示する画像を出力します。雲の全体的な形状は正確でなければなりませんが、スケール、色、線の太さ、頂点の見え方はあなた次第です。クラウドが表示されている必要があるため、「このプログラムは白い背景に白い雲を描画する」、「このプログラムは無限に小さなスケールで雲を描画する」、「このプログラムは0の雲を描画する」また、境界線の色は塗りつぶしまたは背景の色と異なる必要があることに注意してください。 もう一つの例。入力: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 出力: クラウドに「穴」がある場合は、穴も描画する必要があります。入力: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 出力: 重要なルールは次のとおりです。プログラムは境界を形成する線のみを描画する必要があります。つまり、単純に円を完全に描画してから、白い塗りでわずかに小さい円を描画することはできません。このメソッドはまだ境界を形成しない線を描画するため、後でそれらを覆うだけです。ルールの目的は、「円を描いてから、白い塗りで円をもう一度描く」実装、またはそれに類似したものを防ぐことでした。答えは、実際に描画する前に描画する場所を実際に計算することです。 これはコードゴルフであるため、最短の文字数が優先されます。

30
アレックススタイルの追加
Alexの輝かしいLearn you for R for good goodに触発され、 Alexの「1つの真のRプログラム」を謙虚に再現しますが、ひねりを加えています。 アレックススタイルの加算はこのように機能します-90%の確率で与えられた2つの数値の合計を返し、10%の確率で最初の数値と2番目の数値+ 1を再帰的に加算します。つまり、潜在的に、追加が1つ以上オフになる場合があります。 チャレンジ 2つの整数を受け取り、定義どおりにAlex-addsする完全なプログラムまたは関数を作成します。言語に末尾再帰がない場合、プログラムはオーバーフローをスタックしないと仮定できます。(確率が同じである限り、再帰的に実装する必要はありません。) リファレンス実装(Groovy) int alexAdd(int a, int b) { int i = new Random().nextInt(11); if(i == 1) { return alexAdd(a,b+1); } else { return a + b; } } このフィドルをオンラインで試してください。 リーダーボード var QUESTION_ID=66522,OVERRIDE_USER=8478;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 …

30
単語内の文字をランダム化する方法
論争の的となっている話によると、原型のドローのltteresのオドラーは、元のドローでのリストとlsat lteter macthのようなlnogのように、raednigにあまり向いていません。 だから、楽しみのために、最初と最後の文字を所定の位置に保ちながら、単語内の文字の順序をランダム化する最短の機能は何でしょうか? JavaScriptを使用してこれを確認します。すべての空白が削除され、124 130文字になりました。 function r(w) { var l=w.length-1; return l<3?w:w[0]+w.slice(1,l).split("").sort(function(){return Math.random()-.5}).join("")+w[l]; } 短いJavaScriptはいつでも歓迎します。 編集:長さチェックが追加されました。短い単語に対して関数が失敗することはありません。

19
ハードウェア乱数ジェネレーターの即興
あなたの仕事は、周りにあるハードウェアでハードウェア乱数ジェネレーターを即興することです。 チャレンジ 次のプロパティを持つプログラムを作成します。 0または1(他には何も)を出力しません。 出力は、コンピューターの内部状態だけでなく、物理プロセスに依存します。 後続の実行の出力間に関係はありません(1分間隔)。 出力は現実的な努力では予測できません。 出力される確率は00.2〜0.8です。 かなり高い確率で1分以内に実行されます。 明らかでない場合は、プログラムにこれらのプロパティがある理由を説明する必要があります。 明確化と制限 以下は、人気コンテストの非常に多くの制限のように思えるかもしれませんが、最終的には、プログラムが質問の精神の範囲内にとどまることを保証し、ある程度機能し、完全に過剰であるために人気があるソリューションを回避することがすべてですむしろ退屈。 システム時間は物理プロセスとしてカウントされません。 8インチfloopy-diskドライブからUSBロケットランチャー、ヘッドフォンまで、消費者グレードのハードウェアを使用できます(乱数生成を目的としない場合)。ハードウェアは大量生産され、価格が1000ドル未満の場合、消費者グレードであるため、電波望遠鏡、CERN、MRI、または自作の粒子検出器は使用できません。 電源を入れる(電源スイッチがある場合)、適切にインストールして機能するなど、ハードウェアの状態とアライメントに関して最も基本的な仮定のみを行うことができます。たとえば、CDドライブは一般にディスクを読み取ることができ、詰まることはないと想定できますが、CDドライブが開いている、閉じている、またはディスクが入っているとは想定できません。別の例では、特別な相互作用を可能にするために2つのハードウェアを揃えることはできませんが、同じ部屋にあると想定できます。 ハードウェアは、破損しない限り、どのような状態のままでもかまいません。 ハードウェアが自然環境にあることを前提とする必要がありますが、それ以上ではありません。たとえば、ハードウェアが液体ヘリウムのタンク内、非常に防音および耐光性の部屋内、または空間内に配置されていないと仮定できます。ただし、根本的な努力によってのみ回避できるものを除き、サウンドおよび光源が存在すると想定することはできません。 プログラムは、選択した非難解なオペレーティングシステムを備えた標準的なデスクトップコンピューターで実行する必要があります。乱数生成用に特別に設計されていないソフトウェアを使用できます。 インターネットアクセスを想定することはできません。 人間が存在することも存在しないことも想定できませんが、例えば、ファンを手動で停止したり、マイクをできるだけ頻繁にオフにする以外のプログラムを実行するなどして、プログラムに意図的に干渉する人はいないと想定できます。 ソフトウェア設定に関して最も基本的な仮定のみを行うことができます。たとえば、ドライバーをインストールしてアクティブ化することを想定できますが、サウンドをミュートするための準備が必要です。 ソフトウェア設定は任意の状態のままにしておくことができます。 ボーナス 特に短い解決策に対して特別な賞金が授与されました。これは、指示の数によるものであり、文字によるものではありませんでした。勝者は(私の基準に従って結ばれました): フランキーによるこの答え。 Tejas Kaleによるこの答え。 私は1つの答えしか与えられず、Tejas Kaleの答えはたくさん勝ちました。

30
ゴルフできますか?
ランダムな18ホールのゴルフコースを生成する必要があります。 出力例: [3 4 3 5 5 4 4 4 5 3 3 4 4 3 4 5 5 4] ルール: プログラムは、正確に18ホールのホール長のリストを出力する必要があります 各穴の長さは3、4、または5でなければなりません コース全体で穴の長さは最大72になる必要があります プログラムは、ゼロ以外の確率ですべての可能なホール構成を生成できる必要があります(各構成の確率は同じである必要はありませんが、その場合は追加の称賛を要求してください)

24
YなしでXを行う
通常、「YなしでXを実行する」ことは、初心者が課題を書くためのtrapになる可能性があると言われています(ソース)。しかし、私は生意気で、YなしでXを確実に作成できると思います。無作為に。ええ、これは良いでしょう。 課題:n 1以上の奇数の整数が与えられた場合、n「y」と「Y」以外のランダムに印刷可能なASCII文字で構成される辺の長さのex とスペースを出力します。すべての許可されたキャラクターは、ゼロ以外の確率で出現する必要がありますが、必ずしも均一ではありません。これはコードゴルフなので、バイト単位の最短コードが優先されます。ただし、各文字をランダム化する必要があります。つまり、偶然の場合を除き、exのストラットは等しくないはずです。 表示される文字 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~" exの構築 辺の長さ1: x 辺の長さ3: x x x x x 辺の長さ5: x x x x x x x x x 等 出力例 input output empty line 3 h 2 ^ 9 5 1 : 5 D 1 W z W q j W 1 実装例 …

30
文字列の長さを追加する
チャレンジ: s文字a- z、A- Z、0-の文字列を指定すると9、の長さsをそれ自体に追加し、長さの追加の文字をの全長の一部としてカウントしsます。 入力: 任意の長さの文字列(空にすることもできます)。 出力: 同じ文字列ですが、長さが末尾に追加されます。長さを表す文字も長さの一部としてカウントする必要があります。追加する有効な長さが複数ある場合は、可能な限り短いものを選択してください(例については、テストケースを参照してください)。 テストケース: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input can …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

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