プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

25
コードのネガを印刷する
次のように、辺の長さNの正方形の印刷可能なASCII文字(コードポイント0x20〜0x7E)を考えます(ここではN = 6)。 =\ g \ 7 m+y "g L ~ e> PHq また、各行と各列には、少なくとも1つのスペースと1つの非スペース文字を含める必要があります。(上記の例はこれを満たします。) このような正方形のネガを、同じサイズの正方形と定義します。各スペースは非スペースで置き換えられ、その逆も同様です。たとえば、次の例は上記の例の有効なネガになります。 1234 a b cd ZYXWV ! {} [ ] ? スペース以外の文字の選択は無関係です(印刷可能なASCII範囲からのものである限り)。 挑戦 辺の長さがN> 1の正方形のソースコードを使用してプログラムを作成します。これは、自身のネガをSTDOUTに出力します。末尾のスペースは印刷する必要があります。単一の末尾の改行を印刷する場合としない場合があります。 通常のクインルールも適用されるため、直接または間接的に独自のソースコードを読み取ってはなりません。同様に、入力された各式の値を自動的に出力するREPL環境を想定しないでください。 勝者は、最小の辺の長さNのプログラムです。同点の場合、ソースコードに含まれるスペース以外の文字が最も少ないものが優先されます。まだ同点の場合、最も早い回答が優先されます。

13
セブンスラッシュディスプレイ
0から9までの数字の空でない文字列を取り込んで、スラッシュ(、)を使用して7セグメントディスプレイにどのように表示されるかを出力するプログラムを作成します。/\ これらは正確な数字の形状です: /\ \ \ \/ \ \ /\ / \/ /\ /\ / \ \/\ / \/\ / / \/\ \/ /\ \ /\ \/\ \/ /\ \/\ / ある桁が次の桁に続く場合、それらは、斜めのスペースを挟んで、斜め上および右に連鎖します。したがって、たとえば、次の203ようになります。 /\ /\ /\ / \ \ /\ \/ / \/ 1キャラクターは他のキャラクターと同じ量のスペースを取ることに注意してください。の2行は、1ディスプレイの右側ではなく、左側にあります。 だからこれ159114になります: \ \/\ \ \ \ \ /\ …

9
99の通訳を書く
99(「ナインティーナイン」と発音)は、まったく新しい難解なプログラミング言語です(99と混同しないでください、イタリック体に注意してください)。このチャレンジでのあなたの仕事は、可能な限り短い99のインタープリターを書くことです。最少バイトの送信が勝ちです。Tiebreakerは、最初に投稿されたサブミッションに進みます。 この質問の深さは通常よりも少し深いため、良い答えを探しているので、お気に入りの答え(必ずしも勝者とは限りません)に対して250の報奨金を授与します。 99スペック 99は必須言語です。99プログラムの各行は1つのステートメントであり、実行中、命令ポインターは先頭行から始まり、後続の各行を順番に通過して、途中で実行します。プログラムは、最後の行が実行されると終了します。Gotoステートメントは、命令ポインターのパスを再ルーティングできます。 改行、スペース、および99のプログラム9で重要な唯一の3文字です。他のすべての文字は完全に無視されます。さらに、各行の末尾のスペースは無視され、行の複数のスペースは1つのスペースとして読み取られます。(「改行」とは、一般的な改行エンコーディングを指します。インタープリターがどちらを使用するかは関係ありません。) したがって、このプログラム: 9 BLAH 99 9a9bb9c9 9 this line and the next have 6 trailing spaces 9 このプログラムと同じです: 9 99 9999 9 9 変数 99の変数はすべて、1つ以上9の(9+正規表現で)結合された名前を持っています。たとえば、9、99、および9999999999すべての異なる変数です。当然、無限に多くあります(メモリの制限がなければ)。 各変数の値は、符号付きの任意精度整数です。デフォルトでは、各変数は独自の数値表現に割り当てられます。したがって、再割り当てされていない限り、変数の値は99番、変数の値は9999番などとなります。明示的に割り当てられるまで、変数を単純な数字として扱うと考えることができます。 V以下の任意の変数名を参照するために使用します。 各インスタンスVに置き換えることができ9、99、999、9999、など 声明 99には5つの異なるステートメントタイプがあります。99プログラムの各行には、1つのステートメントのみが含まれています。 ここで説明する構文は、無関係な文字がすべて削除され、末尾のスペースがすべて削除され、複数のスペースのシーケンスがすべて単一のスペースに置き換えられていることを前提としています。 1.操作なし 空の行は何もしません。何もしません(命令ポインタをインクリメントする以外)。 2.出力 V 行の1つの変数Vは、その変数を標準出力に出力します。 のV奇数9(9、999など)がある場合、V9 で割った整数値が(10進数で)出力されます。 場合Vの偶数有する9S」( 99、9999など)をアスキーコードで文字V9で除算し、MOD 128が印刷されます。(つまり(V / 9) % 128、0〜127の値です。) 例:プログラム …

30
プログラムが終了し、それを見る人がいない場合、停止しますか?
真実に直面する時が来ました。私たちは永遠にここにいるわけではありませんが、少なくとも人類が時間の終わりまで苦労しても生き残るプログラムを書くことができます。 あなたの仕事は、宇宙の終わりまでの残り時間よりも長い予想実行時間を持つプログラムを書くことです。 あなたはそれを仮定するかもしれません: 宇宙は10 1000年後にエントロピーで死ぬでしょう。 お使いのコンピューター: Unobtainiumで作られているため、宇宙よりも長持ちします。 無限のメモリ/スタック/再帰の制限があります。 プロセッサの速度は制限されています。 プログラムが終了したことを示し(申し訳ありませんが、無限ループはありません)、その予想実行時間を計算する必要があります。 標準抜け穴が適用されます。 これはコードゴルフの課題であるため、基準を満たす最短のコードが優先されます。 編集: 残念ながら、Unobtainiumのあり得ないフィールドがコンピュータの内部クロックを妨害し、それを役に立たなくすることが判明しました(30分後)。したがって、時間ベースのプログラムはすぐに停止します。(とにかく、生きている遺産として待っているプログラムを残すのは誰ですか?) コンピュータープロセッサはIntel i7-4578Uに似ているため、実行時間を測定する1つの方法は、入力が小さい類似のコンピューターでプログラムを実行し(希望)、実行時間を推定することです。 表彰台 #CharsLanguageUpvotes Author 1 5 CJam 20 Dennis 2 5 J 5 algorithmshark 3 7 GolfScript 30 Peter Taylor 4 9 Python 39 xnor 5 10 Matlab 5 SchighSchagh * 8月31日の賛成票

20
リストを並べ替えて英語を書いてください!
あなたの上司は何とか秘密の隠されたメッセージを読んだ。彼はあなたを解雇しませんでしたが、あなたを秘書にし、コードを書くことを禁止しました。 しかし、あなたはプログラマです。コードを書く必要があります。コーディングする必要があります。 したがって、コードは可能な限り英語に似ており、意味を持ち、コードにできるだけ似ていない必要があります。コードは、整数のリスト(関数またはSTDINのいずれか)を受け取り、ソートされたリストを返す(返す、またはSTDOUT)必要があります。 任意の言語を使用できますが、私は最も創造的なソリューションを探しています(コードがビジネスレターのように見える場合はお勧めです)。 これは人気コンテストです!


14
牛乳は期限切れですか?
ああ、この有効期限は月を文字で書かない!私はそれが3月10か10月3日に期限が切れるなら...教えていない、気にしないで、待つことができない、今年は言う2012年(路地-おっとプロが好きなことができますゴミ箱にチーズのレンガを半使用) したがって、しばらくの間、このマリナラの瓶が期限切れになると推測するのに忙しすぎると仮定しましょう。クリフノーツバージョンが必要なだけです。期限が過ぎている可能性はどのくらいですか。いくつかのコードを書きましょう! 製造元は、次の3つの形式のいずれかで、順序付けされた整数のトリプルとして日付を印刷することを知っています。 YEAR MONTH DAY MONTH DAY YEAR DAY MONTH YEAR また、一部の日付は3つすべてではなく、1つまたは2つの方法でしか解釈できないことを知っています。55 55-11-5インチは1年である必要があります。 2つではなく、いくつかのオプションを除外できます。ただし、2桁の場合、50..99は1950..1999を意味し、0..49は2000..2049を意味します。 あなたの仕事は、上記の解釈の少なくとも1つで有効な日付である整数の配列を取り、それがまだ良い確率を出力するプログラムまたは関数を書くことです。可能性の割合は、単に今日の日付以降の日付の有効な解釈の割合です。 整数の配列は[Int]、関数への引数の場合、言語の長さ3 のタイプになり、STDINの入力として使用される場合、ダッシュ、スラッシュ、またはスペースで区切られた(選択する)整数として与えられます。完全なプログラム。* 「今日の日付」は、日付関数を介して取得した今日の実際の日付、または関数への追加の引数またはSTDINの追加のパラメーターで指定した日付にすることができます。Unixエポック秒、上記の3つの方法のいずれかで入力された別の年月日トリプル、または別のより便利な方法があります。 いくつか例を挙げましょう!有効期限の入力はダッシュで区切られたスタイルになり、以下の例では、今日の日付が2006年7月5日であると想定しています。 14-12-14-これに対する有効な解釈(DMYとYMD)はどちらも同等です(2014年12月14日)。この製品は間違いなく優れているため、出力は100です。 8-2-2006-最後の数字は4桁なので、確かに1年です。これは、2月8日(期限切れ)または8月2日(まだ良い)のいずれかです。出力は50です。 6-7-5-これは何でもいい!「2006年7月5日」の解釈は依然として良好です(1日のみ)が、残りの2つは両方とも2005年であり、できるだけ早く投げるべきです。出力は33です。 6-5-7-ここでは、3つの解釈のうち2つが安全です。小数を切り上げまたは切り捨てることができるため、66または67の両方で問題ありません。 12-31-99-さて、これは世紀の変わり目から明白です(50から99の年は19XXであり、31は月ではない可能性があります)。大きな脂肪0で、冷蔵庫をもっと頻繁に掃除する必要があります。 上記の基準を満たしていない入力は、上記の出力ルールに含まれていないとみなしても安全です。 Webリクエストや標準の抜け穴はありません。日付処理ライブラリが許可されています。これはコードゴルフです。最短のプログラムが勝つかもしれません。 * Brainfuckまたは同様のデータ型ハンディキャップ言語を使用している場合、入力の最初の3文字のASCII値が日付の整数であると想定できます。確かに、これは4桁の年のロジックを除外しますが、Brainfuckでこれに対する解決策を見れば、あなたを軽視するにはあまりにも驚かされると思います。
98 code-golf  date 

30
コードと同じ長さの出力
この課題では、入力を受け取らず、プログラム自体と同じバイト数の文字列を出力または返すプログラムまたは関数を作成する必要があります。いくつかのルールがあります: 印刷可能なASCII範囲(0x20〜0x7Eを含む)、または改行(0x0Aまたは0x0D)のバイトのみを出力できます。 コードはクインであってはなりません。そのため、コードと出力は少なくとも1バイト異なっていなければなりません。 コードは少なくとも1バイトの長さが必要です。 出力に末尾の改行が含まれている場合、それらはバイトカウントの一部です。 コードに非標準のコマンドラインフラグが必要な場合は、通常どおりカウントします(つまり、言語の実装の標準呼び出しに違いをバイトカウントに追加することによって)。出力の長さはソリューションのスコアと一致する必要があります。たとえば、プログラムがab非標準フラグ-nを必要としている場合(標準フラグと組み合わせられないため、3バイトであると想定します)、合計5バイトを出力する必要があります。 すべての可能な出力が上記の要件を満たしていることを示すことができる限り、出力は常に同じである必要はありません。 通常のクインルールは適用されません。ソースコードまたはそのサイズを読むことはできますが、これはほとんどの言語でハードコーディングするよりも短いとは思いません。 プログラムまたは関数を作成し、出力を提供する標準的な方法を使用できます。結果を印刷する場合、標準出力または標準エラーストリームのいずれかに印刷することを選択できますが、カウントされるのはそのうちの1つだけです。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 これはcode-golfであるため、バイト単位で測定される最短の有効な回答が勝ちます。 リーダーボード コードスニペットを表示 var QUESTION_ID=121056,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 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 r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){var F=function(a){return a.lang.replace(/<\/?a.*?>/g,"").toLowerCase()},el=F(e),sl=F(s);return el>sl?1:el<sl?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\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:290px;float:left}table thead{font-weight:700}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" …

3
スプロケットサイエンス:チェーンドライブシステムのアニメーション化
この課題の目標は、チェーンで接続されたスプロケットギアのセットで構成されるチェーンドライブシステムのアニメーションを作成することです。 一般的な要件 プログラムには、トリプレットとして指定されたスプロケットのリストが与えられ(x, y, radius)ます。得られたチェーン駆動システムによって互いに接続され、これらのスプロケット、から構成されている閉鎖ピンと張っ鎖、それらの各々を通過するために。あなたの目標は、無限ループのアニメーションを生成し、システムが動いていることを示すことです。例えば、与えられた入力 (0, 0, 16), (100, 0, 16), (100, 100, 12), (50, 50, 24), (0, 100, 12) 、出力は次のようになります 。 座標系は、右のX軸点、及びy軸はアップポイントようなものであるべきです。半径が 8以上の偶数であると仮定することもできます(これが後で問題になる理由がわかります)。また、スプロケットが少なくとも2つあり、スプロケットが互いに交差しないと仮定することもできます。ユニット入力の重要性はあまり高くありません。この投稿のすべての例とテストケースでは、入力単位としてピクセルを使用しています(たとえば、前の図の中央のスプロケットの半径は24ピクセルです)。これらの単位から大きく逸脱しないようにしてください。課題の残りの部分では、空間量は入力と同じ単位で与えられると理解されます-比率を正しく保つようにしてください!出力の寸法は、すべてのスプロケットの境界ボックスよりわずかに大きく、システム全体が見えるように十分大きくする必要があります。特に、スプロケットの絶対位置は出力に影響しないはずです。相対的な位置のみが必要です(たとえば、上記の例ですべてのスプロケットを同じ量だけシフトした場合、出力は同じままになります)。 チェーンは、あるべき接線それは接触のすべての点で上を通過し、スプロケットにまっすぐ他のどこでも。チェーンは、隣接するチェーンセグメント(つまり、同じスプロケットで出会う2つのスプロケット間のチェーンの部分)が互いに交差しないようにスプロケットを通過する必要があります。 。 たとえば、左上のスプロケットを通過する2つの隣接するチェーンセグメントは交差するため、上の左のシステムは有効ですが、中央のシステムは無効です。ただし、2つの交差するチェーンセグメントは隣接していないため、正しいシステムが有効であることに注意してください(ただし、このシステムは他の2つとは異なる入力によって生成されます)。 物事を単純(r)に保つために、スプロケットがその2つの隣接するスプロケットの凸包、またはその隣人と他の隣人のそれぞれの凸包と交差しないと仮定することができます。言い換えれば、下の図の上部のスプロケットは、影付きの領域と交差しない場合があります。 チェーンセグメントは、通過するスプロケット以外のスプロケットと交差する場合があります(最後のテストケースなど)。この場合、チェーンは常にスプロケットの前に表示されます。 視覚的要件 チェーンは、交互の幅の一連のリンクで構成する必要があります。幅の狭いリンクの幅は約2、幅の広いリンクの幅は約5である必要があります。両方のタイプのリンクの長さはほぼ等しいはずです。期間チェーンの長さ、つまり、リンクの幅の広いペアと狭いペアの合計の長さは、チェーンの長さの整数倍に適合する4πに最も近い数でなければなりません。たとえば、チェーンの長さが1,000の場合、その周期は12.5である必要があります。これは、1,000の整数回(80)に適合する4π(12.566 ...)に最も近い数値です。チェーンが折り返されるポイントにアーティファクトがないように、期間がチェーンの長さに整数回適合することが重要です。 半径Rのスプロケットは、3つの同心円状の部分で構成される必要があります。中心軸、半径約3の円である必要があります。車軸の周りのスプロケットのボディ、R -4.5の半径の円である必要があります。そして、スプロケットのリム約半径の円であるべき本体の周りに、 R - 1.5。また、リムにはスプロケットの歯が含まれている必要があります。歯の幅は約4です。歯のサイズと間隔は、チェーンリンクのサイズと一致している必要があります。 スプロケットの歯の周期、つまりスプロケットの円周に沿った2つの連続する歯の間の距離は、チェーンの周期と一致する必要があります。周期は約4πであり、スプロケットの半径は均一であることが保証されているため、周期はスプロケットの円周にほぼ整数回収まる必要があり、その結果、顕著なアーティファクトが発生しないはずです。スプロケットの歯が回ります。 簡単に区別できる限り、チェーン、スプロケットのさまざまな部分、および背景に任意の色の組み合わせを使用できます。背景は透明かもしれません。この投稿の例では、チェーン、スプロケットの車軸とリム、スプロケットのボディに使用しています。 #202020 #868481 #646361 アニメーションの要件 入力リストの最初のスプロケットは時計回りに回転するはずです。残りのスプロケットはそれに応じて回転するはずです。チェーンは、毎秒約16π(約50)ユニットの速度で移動する必要があります。フレームレートはあなた次第ですが、アニメーションは十分に滑らかに見えるはずです。 アニメーションはシームレスにループする必要があります。 適合性 視覚的な属性と比率の一部は、大まかにのみ意図的に指定されています。正確に一致させる必要はありません。プログラムの出力は、ここに示した例のピクセルごとの複製である必要はありませんが、似ているはずです。特に、チェーンとスプロケットの正確な比率、およびチェーンのリンクとスプロケットの歯の正確な形状は柔軟です。 従うべき最も重要な点は次のとおりです。 チェーンは、正しい方向から入力順にスプロケットを通過する必要があります。 チェーンは、すべての接触点でスプロケットに接する必要があります。 …

30
パスワードをクリップボードにコピーしました!削除できますか?
以下の最良の セキュリティ プラクティスを、私は私のハードドライブ上の私のパスワードがプレーンテキストファイルを保ちます。実際、PPCGアカウントにアクセスするために、そのうちの1つをコピーして貼り付けました。 明快な瞬間に、私はパスワードを使用した後にクリップボードに残しておくべきではないと判断しました。これはよくあることなので、プログラムを使用してクリップボードの内容を削除できます。 チャレンジ 選択したプログラミング言語を使用して、クリップボードに含まれるテキストを削除または上書きするプログラムまたは関数を作成します。 さらなる詳細: システムに複数のクリップボードがある場合、それらのいずれかのプログラムを作成できます。唯一の要件は、ユーザーがそのクリップボードを使用してテキストをコピーおよび貼り付けできる必要があることです。 クリップボードが最近コピーされたエントリの履歴を保持している場合、最新のエントリを想定します。 回答がオペレーティングシステムまたはクリップボードに固有のものである場合は、使用する言語とともに、投稿のタイトルでそれを示します。 クリップボードには、プログラムの実行時にテキストが含まれることが保証されています。クリップボードからコンテンツを削除するか、他の何か(必ずしもテキストではない)で上書きすることができます。唯一の要件は、プログラムの実行後、クリップボードから貼り付けても元のテキストが生成されないことです。 固定またはランダムに選択されたテキストで上書きすることを選択した場合、以前のクリップボードの内容はそのテキストとは異なるため、パスワードは事実上削除されます。つまり、フィラーテキストがパスワードと一致する可能性を無視します。 プログラムには、システムの再起動、プログラムの終了、コンピューターのシャットダウン、フリーズなどの副作用がありません。プログラムを実行した後、ユーザーはクリップボードからパスワードを削除するだけで、通常どおりコンピューターを使用できます。また、標準の抜け穴は禁止されています。 バイト単位の最短コードが優先されます。
96 code-golf 

30
サバイバルゲーム-エイリアン戦争
エイリアン戦争 このゲームは、エイリアンが優れた人種である非常に混雑した惑星で行われます。あなたの仕事は、あなた自身のエイリアンを作成し、他のすべてを打ち負かすことです。 ボード 2次元のボードです。 ボードの片側の長さは、使用するボードのMath.ceil(sqrt(species * 100 * 2.5))約40%です。ボードは惑星であるため、西の地図から出ると、東に戻ります。北に出て行くと、南にいることに気づくでしょう。 能力 地球上の各種には能力があります。どうぞ: 名前 メリット ライフHP = lifeLVL * 5(ヒットするたびに減少、0 =デッド)、ベースHP = 10 強さヒットは、範囲[1〜strengthLVL]の範囲内でランダムに整数ダメージを与えます 防御範囲[0〜(50 / DefenseLVL + 1)]でランダムにintを選択します。int == 0の場合、次の攻撃をかわします 視力を与えますvisionLVL / 2あなたの周りの視野 賢ぼけ(増加)の範囲でランダムにすべての能力[0にclevernessLVL 2 /他の外国人への送信 ゲーム 各提出には100個のインスタンスがあります。 インスタンス化後、各エイリアンは合計10個の能力ポイントを設定できます。インスタンスごとに異なるポイントを設定できます。 10ポイント以上を設定すると、インスタンスは停止します。 ゲームは1000ラウンドで構成されます。各ラウンド: すべてのエイリアンは経由で動きを返さなければなりませんmove(char[] fields)。これにはMove.STAYが含まれます。 複数のエイリアンがフィールドにいる場合、2人がランダムに選択されます。 両方が平和に同意する場合(でfalseを返すwantToFight)、現在の場所に留まるか、そうでない場合は戦います。 これは、1人のエイリアンのみがフィールドに滞在するか、全員が平和に同意するまでループします。 エイリアンが何かを殺すと、敵の能力の1/5を獲得します。勝者のHPには2 * enemyLifeLVLが補充されます。 勝者は、最も能力(生きているエイリアンの能力の合計)を持つものです。 戦い …

30
「Ceeeeeeee」プログラムを作成する
入力として文字列と文字を取り、最初の文字と入力として与えられた文字を除くすべての文字を1つずつ削除するJavaScriptプログラムを作成した後。 たとえば、入力codegolf.stackexchange.comを使用eして文字を計算すると、次のようになります。 codegolf.stackexchange.com cdegolf.stackexchange.com cegolf.stackexchange.com ceolf.stackexchange.com celf.stackexchange.com cef.stackexchange.com ce.stackexchange.com cestackexchange.com cetackexchange.com ceackexchange.com ceckexchange.com cekexchange.com ceexchange.com ceechange.com ceehange.com ceeange.com ceenge.com ceege.com ceee.com ceeecom ceeeom ceeem ceee 最初の文字とすべてeのを保持します。他のすべての文字は1つずつ削除されます。 あなたの仕事は、この効果を達成する文字列を2つの入力と出力(または返す)を取るプログラム(または関数)を書くことです。 仕様書 文字列には改行が含まれないと想定できます。 2番目の入力は常に1文字です。 答えが関数の形式である場合、出力の各行を含む文字列の配列を返すことができます。 出力には、末尾の改行を含めることができます。 テストケース Test Cases、s: Test Cases Tst Cases Ts Cases TsCases Tsases Tsses Tsss Make a "Ceeeeeeee" program、e: Make …
95 code-golf  string 

30
なぜ終わらないのですか?[閉まっている]
あなたの仕事:明らかに終了するはずのプログラムを書くが、それは決して(コンピューターのクラッシュの程度まで)しません。単純なタスクを実行するように見えるようにします:数字を追加したり、何かを印刷したりします...しかし、無限ループに陥ります。 プログラムは実際には予期せぬループに巻き込まれますが、プログラムを非常に明確かつシンプルにしてください。有権者:彼らがいかに「人手不足」であるかについての答えを判断してください! これは人気コンテストです。クリエイティブになりましょう!

29
スケーラブルなクリスマスツリーを作成する[終了]
あなたの課題:クリスマスツリーを作成します。サイズは入力メソッドによって選択可能でなければなりませんが、ツリーのどの部分とも直接関係する必要はありません。ただし、入力を大きくすると、ツリーが大きくなります。 どうやってできますか?あなたは木に印刷することによって以外にあなたが好きなように作ることができますツリーのUnicode文字を、何をするにしてもなど、そのような他の側面で、画像、ASCIIアートをouputtingとして、これがあることを覚えておいてください人気コンテストので、クリエイティブに。 12月末までに最も多くの賛成票を獲得した回答が勝ちますが、それが高くなった場合は別のものを受け入れます

30
次々とOEIS
13/03/2018 16:45 UTCの時点で、勝者はScroobleによる回答#345 です。これは、コンテストが公式に終了したことを意味しますが、ルールに従っている限り、回答を投稿してください。 同様に、回答数の観点から上位3人の回答者に簡単に叫んでください。 1. NieDzejkob -41の答え 2. KSmarts -30の答え 3. ハイパーニュートリノ-26の答え これは、OEISのシーケンスと前回の提出の長さを使用する回答連鎖質問です。 この回答連鎖の質問は、次のように機能します。 最初の回答を投稿します。他のすべてのソリューションは、そこから派生する必要があります。 次のユーザー(userAと呼びましょう)は、そのインデックス番号(以下を参照)がコードの長さと同じであるOEISシーケンスを見つけます。 次に、シーケンスを使用して、未使用の言語で、入力nとして整数を取り、そのシーケンスのn番目の数値を出力するプログラムをコーディングする必要があります。 次に、彼らは私のソリューションを投稿し、新しいユーザー(userB)は同じことを繰り返さなければなりません。 nシーケンスのth番目の用語は、最初の値のn回後の用語であり、最初の値がそのOEISページで指定された最初の値で動作します。この質問では、これらのシーケンスに0インデックスを使用します。たとえば、A000242およびのn = 3場合、正しい結果は25になります。 しかしながら! これはcode-golfではないため、最短のコードは重要ではありません。ただし、コードの長さにはまだ影響があります。シーケンスの重複を防ぐには、バイトカウントが一意でなければなりません。これは、ここで送信された他のプログラムが、あなたと同じ長さのバイト数になることはないことを意味します。 最後の投稿の長さのシーケンスがない場合、投稿のシーケンスは最も低い未使用のシーケンスです。これは、使用されるシーケンスも一意である必要があり、シーケンスがバイトカウントと同じであってはならないことを意味します。 回答が投稿され、新しい回答が1週間以上投稿されなかった後、最後に投稿された前の回答(チェーンを中断しなかったもの)が勝ちます。 入出力 汎用の入力および出力ルールが適用されます。入力は整数または整数の文字列表現でなければならず、出力はシーケンス内の正しい値でなければなりません。 書式設定 ほとんどの解答連鎖質問と同様に、解答は次のようにフォーマットしてください # N. language, length, [sequence](link) `code` [next sequence](link) *anything else* ルール 回答を投稿する前に、投稿してから少なくとも1時間待つ必要があります。 連続して2回(またはそれ以上)投稿することはできません。 シーケンスのインデックス番号は、Aパートの後の番号であり、先行ゼロが削除されています(たとえばA000040、インデックス番号は40) 入力も必要な出力も言語の数値範囲外ではないと想定できますが、たとえば数字1のみを使用できる言語を選択することでこれを悪用しないでください。 提出の長さが65536文字を超える場合は、コードにアクセスする方法へのリンクを提供してください(たとえば、ペーストビン)。 n 精度の不一致が言語の競合を止めることを防ぐためだけに、1000より大きくなることはありません。 150(有効な)回答ごとに、言語を使用できる回数が増えます。したがって、150のソリューションが投稿された後、すべての言語が2回使用される可能性があります(以前の回答はすべてこれにカウントされます)。たとえば、150個の回答が投稿された場​​合、Python 3は2回使用される可能性がありますが、既に1回使用されているため、300個の回答が投稿されるまで1回しか使用できません。 …

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