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

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

15
階段の執筆
特定の文字列を階段形式で出力するプログラムまたは関数を作成し、母音で始まる単語の各部分を前の部分の1行下に書き込みます。 例えば: Input: Programming Puzzles and Code Golf Output: Pr P C G ogr uzzl and od olf amm es e ing 入力 文字とスペースのみを含む文字列。 文字列は、STDINまたは関数の引数、または同等のものを介して渡すことができます。 文字は小文字でも大文字でもかまいません。 入力は常にこれらのルールに従うものと想定されるため、誤った入力をチェックする必要はありません。 出力 各時間は母音(で、a、e、i、o、uまたはy)をワードに遭遇され、あなたは正しい水平位置の次の行(付属遭遇母音)の出力単語の残りの部分を、必要があります。このルールは再帰的です。つまり、単語にn個の母音がある場合、n + 1行に書き込まれます。 母音は、次の行の先頭に書き込まれるべきであり、前の行に出会ったときに書き込まれるべきではありません。 各単語は最初の行から始まるため、他の単語とは独立してフォーマットする必要があります。2つの単語はスペースで区切られます。 単語が母音で始まる場合、2行目から記述する必要があります。 テストケース 入力: Programming Puzzles and Code Golf 出力: Pr P C G ogr uzzl and od …
35 code-golf  string 

9
コーディング標準の妨害[終了]
ソフトウェア企業では、さまざまな開発者が共同で記述したコードのコードの信頼性、移植性、そして最も重要な可読性を高めることを目標とするさまざまなコーディング標準が施行されています。 2つの注目すべき例は、MISRA Cと、JSFプロジェクト用に開発されたC ++標準です。 これらは通常、「must」、「shall」、「should」、「might」などの単語の意味を慎重に指定した後、次の形式になります。 例: 規則50:浮動小数点変数は、正確な等価性または不等価性についてテストされません。 理論的根拠:浮動小数点数は丸め誤差と切り捨て誤差の影響を受けるため、予想された場合でも正確な等価性が得られない場合があります。 これらのコーディング標準は、通常コンパイラの観点から合法であるコードに制限を課しますが、危険または読めないため、「有害と見なされます」。 これを悪用しましょう! あなたはあなたの会社の小さな標準化委員会のメンバーとして受け入れられます。それは会社のすべての開発者が使用する必要がある新しいコーディング標準を設計することを目的としています。他の人には知られていませんが、あなたはひそかに不吉な組織を雇用しており、会社を妨害する使命を持っています。コーディング標準に1つ以上のエントリを提案する必要があります。これは、後で開発者の妨げになります。ただし、これをすぐに明らかにしないように注意する必要があります。そうしないと、標準に受け入れられない危険があります。 言い換えれば、正当であるように見え、委員会の他のメンバーに受け入れられる可能性が高いルールをコーディング標準に導入する必要があります。プロジェクトが開始され、コードに無数の工数が費やされた後、これらのルールを悪用できるようになります(たとえば、技術的または非常に文字通りの解釈)、そうでなければ通常の品質の良いコードに標準に違反しているというフラグを立てる したがって、彼らはそれを再設計するために多大な努力を払わなければならず、ルールはこの時点からそれらを妨げますが、ルールは現在かなり長い間アクティブであるため、純粋な勢いはこれらの役割を生き続け、重大な競合があるので異なるレベルの管理者間で関心がある場合、他のマネージャーはおそらくルールを守り続けるでしょう(彼らは間違いを認めるのは愚かなことでしょう!)、したがって会社を妨害します!ムワハハハハア! 得点 最初の有効なエントリーが勝ってから約2週間後の最高の回答。良い答えのアイデアはありますが、他の誰かが同じアイデアに出くわす可能性があるため、数日後に投稿します。もちろん、スコアに関係なく、私自身の答えは他のものよりも受け入れられません。 有権者は、抜け穴がどれだけ隠れているか、開発者がどれだけイライラするかに基づいて回答を採点することをお勧めします。 ルールと規則 ルールは、上記の例のように専門的に書かれたように見える必要があります ルールは本物に見えるはずです(したがって、「すべての変数には少なくとも1つのアンダースコア、1つの大文字、1つの小文字、2つの数字が含まれている必要があります。」などは受け入れられません。委員会)そして彼らのメリットがすぐに明らかでない場合、あなたは良い根拠を与えるべきです。 ルールを使用/悪用して、後で開発者を妨害する方法を見つけることができるはずです。他のルールのあいまいさを悪用したり、それ自体では無害であるが結合すると悪魔的な複数のルールを使用する可能性があります。 ルールの悪用方法については、投稿の最後にスポイラータグで説明を投稿する必要があります 使用される言語は難解な言語であってはなりません。実際のプロジェクトで広く使用されている言語を選択する必要があるため、Golfscriptのようなものではなく、Cに似た構文の言語が優先されます。

30
月曜日の番号を生成
この質問でパズリングについてGamowが定義した月曜日の数字は、次の3つのプロパティを持つ正の整数Nです。 Nの10進表現に数字0が含まれていません Nの10進数表現に数字が2回含まれていない Nは、その10進表現に現れるすべての数字Dで割り切れます。 これらは、OEISでLynch-Bell番号として代わりに知られていることに注意してください。 例: 15は月曜日の数値であり、両方1で割り切れ5、他の2つの条件を満たします。 16ではありません。なぜなら、それはで割り切れないから6です。 22条件1と3を満たしているにもかかわらず、条件2に失敗するため、数値はそうではありません。 開始する月曜日の最初の25の番号のリストを以下に示します(合計548個あります)。 1 2 3 4 5 6 7 8 9 12 15 24 36 48124126128132135162168175175184216248 ここでの課題は、1から9867312までの月曜日番号の完全なシーケンスを生成する最短コードを書くことです(その質問で可能な限り大きいことが証明されています)。 コードは入力を受け取らず、出力はSTDOUTまたは同等のもので、区切り文字を選択する必要があります。通常のすべてのコードゴルフ規則が適用され、標準の抜け穴は禁止されています。 リーダーボード コードスニペットを表示 var QUESTION_ID=59014,OVERRIDE_USER=42963;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){return …

8
すべてのパンケーキをコーティング
プレートの上にパンケーキの山があり、その上にシロップの塊があり、厚すぎて側面を下ることができません。各パンケーキの両方の面が少なくともシロップに触れるまでは食べられませんが、今は一番上のパンケーキの片方の面だけが触れています。 シロップは1つのパンケーキにも染み込むことはありませんが、2つのパンケーキの間で直接接触することで無期限に転送できます。パンケーキの表面がシロップに触れると、シロップで永久にコーティングされたとみなされ、シロップでコーティングされた非シロップでコーティングされた面も同様にコーティングされます。シロップをプレートの上面との間で転送することもできます。 パンケーキの選別と同様に、1つ以上のパンケーキの下にヘラを挿入し、全体をひっくり返すことにより、すべてのパンケーキの表面をシロップでコーティングします。(残念ながら、このヘラはシロップ耐性があり、パンケーキの表面に触れることでシロップを配布するのに役立ちません。)悲しいことに、どのパンケーキの表面がシロップに触れたのかわからなくなりますが、あなたが作ったフリップを覚えています。 あなたの過去のフリップを考えると、あなたのパンケーキがすべてシロップでまだコーティングされているかどうかを判断できますか? チャレンジ パンケーキの数に正の整数Nを取り込み、これまでに行ったフリップの正の整数のリスト(すべて<= N)を取り込むプログラムを作成します。リスト内の各数字は、反転したパンケーキの数を表します。パンケーキがコーティングされている場合は真実の値を出力し、そうでない場合は偽の値を出力します。(真実/虚偽の定義) 入力はstdinまたはコマンドラインから取得し、出力はstdout(または最も近い代替)に送信する必要があります。入力に少し余分な書式設定が必要な場合は問題ありません。たとえば、リストの[1, 1, 2, 2]代わりに1 1 2 2。 例 N = 2と仮定すると、プレート上に2つのパンケーキのスタックがあり、上からシロップが始まります。 リストがの場合1 1 2 2、これは... 上部のパンケーキを反転-下部のパンケーキの上面をコーティング 再びトップを反転-トップパンケーキの元の底面をコーティング 両方を裏返す-プレートをコーティングする 両方を再び反転-ボトムパンケーキの元の底面をコーティング すべての4つの面がコーティングされているので、出力は次のようなものになるだろうTrueか1。 リストがの場合1 2 2 1、これは... 上部のパンケーキを反転-下部のパンケーキの上面をコーティング 両方を反転-何もコーティングしない 両方を再び反転-何もコーティングしない 再びトップを反転-トップパンケーキの元の底面をコーティング プレートに触れ顔がまだシロップフリーですので、出力は次のようなものになるだろうFalseか、と0。 ノート フリップリストは任意に大きく、空にすることができます。その場合、出力は偽になります。 プレートはシロップキャリアとして機能しますが、コーティングされているかどうかは関係ありません。(実際、フリップソリューションがプレートをコーティングするのは、接触するパンケーキフェースをコーティングする必要があるためですが、それは関係ありません。) プレートは反転できません。 これらのパンケーキは、側面がなく、向かい合った2つの面のみを持つ単位ディスクであると想定できます。 得点 これはコードゴルフです。バイト単位の最短ソリューションが勝ちです。
35 code-golf  stack 

27
立ち止まって、今いるところに立ちなさい!
チャレンジ 1つのパラメーター(整数)を受け取る関数を作成しますt。PythonやBBC BASICの場合とt同様にtime.sleep(t)、関数は続行する前にプログラムを数秒間停止する必要がありますWAIT t。 特定の時間後にコードを実行するために、組み込みの待機関数または組み込み関数を使用しないでください。プログラムはt数秒後に再開する必要があります。 あなたの機能をテストするためtに、あなた自身のマシンで与えられたものよりも0.1秒の多かれ少なかれの許容差があります:コンピュータ間の違いは問題ありません。 誰かがあなたの答えに挑戦した場合、あなたの機能がt=1、t=5およびで正しく機能することを写真(スクリーンショット)で証明する必要がありますt=25。また、コンピューターの詳細を提供して、他のユーザーが自分のコンピューターでそれを複製できるようにすることもできます。 プログラムは、クロック速度が1.6 GHz以上のコンピューターで実行する必要があります。 勝ち 最短のプログラムが勝ちます。 バウンティ 報奨金は、プログラムを停止する最短のプログラムに出て行くことなく、経過時間をチェックするループ使用します。あなたがこの賞金のために走っている場合、あなたの答えは賞金のためであると言っている脚注を追加してください。 リーダーボード /* Configuration */ var QUESTION_ID = 55293; // Obtain this from the url // It will be like http://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var OVERRIDE_USER = 30525; /* …
35 code-golf  date 

29
ASCIIライトニングボルトを描く
前書き このStackOverflowの質問に一部触発されて、ASCIIライトニングボルトを描きましょう。 nSTDINまたはコマンドラインを介して正の整数を受け取り、以下のASCIIライトニングボルトを出力するプログラムを作成します。 入力 n描画する稲妻のジグザグ層の数を表す正の整数。 出力例 n = 1 __ \ \ \ \ \ \ \/ n = 2 __ \ \ \ \ __\ \ \ __\ \ \ \ \ \/ n = 3 __ \ \ \ \ __\ \ \ __\ \ \ __\ \ …

30
今日のランダムゴルフ#1:配列のシャッフル
シリーズについて ランダム性のテーマを中心に、小さなシリーズのコードゴルフチャレンジを実行します。これは基本的に9ホールの ゴルフコースですが、いくつかの質問にまたがっています。通常の質問であるかのように、個々の課題に個別に参加できます。 ただし、すべての課題にわたってリーダーボードを維持します。このシリーズは、数日ごとに投稿される9つのチャレンジ(今のところ)で実行されます。9つのチャレンジすべてに参加したすべてのユーザーは、シリーズ全体を獲得する資格があります。全体的なスコアは、各チャレンジでの最短提出の合計です(したがって、チャレンジに2回答えた場合、より良い答えだけがスコアにカウントされます)。この総合リーダーボードで28日間トップの座を保持している人がいる場合は、500 repの賞金を授与します。 このシリーズにはたくさんのアイデアが並んでいますが、将来の課題はまだはっきりしていません。何か提案があれば、関連するサンドボックスの投稿でお知らせください。 穴1:配列をシャッフルする 最初のタスクは非常に単純です。整数の空でない配列を指定して、ランダムにシャッフルします。ただし、いくつかのルールがあります。 すべての可能な順列は同じ確率で返される必要があります(シャッフルは均一な分布を持つ必要があります)。あなたのアルゴリズムは、上のJavaScriptでそれを実装することで、均一/公平であるかどうかをチェックすることができますウィルそれシャッフルバイアスの行列が生成されます、 -結果は彼らのビルトイン限り均一になるはずですフィッシャーイエーツまたはソート(順不同)。 組み込みまたはサードパーティの方法を使用して、配列をシャッフルしたり、ランダムな順列を生成したり(またはすべての順列を列挙したり)しないでください。特に、使用できる組み込みのランダム関数は、一度に1つの乱数を取得することだけです。あなたはかもしれいずれかがO(1)で乱数メソッドの実行を内蔵し、要求された間隔で完全に均一であることを前提と(数学的な意味で-あなたはここで、浮動小数点表現の詳細を無視する場合があります)。言語で一度にm個の乱数のリストを取得できる場合は、m個の数字が互いに独立しており、O(m)としてカウントする限り、この機能を使用できます。 実装はO(N)の時間複雑度を超えてはなりません。ここで、Nはシャッフルされる配列のサイズです。たとえば、「乱数でソート」することはできません。 配列を適切にシャッフルするか、新しい配列を作成することができます(この場合、古い配列は自由に変更できます)。 完全なプログラムまたは関数を作成し、STDIN、コマンドライン引数、関数引数またはプロンプトを介して入力を取得し、戻り値またはSTDOUT(または最も近い代替)に出力して出力を生成できます。配列を適切にシャッフルする関数を作成する場合、もちろん返す必要はありません(関数が返された後に言語で変更された配列にアクセスできる場合)。 入力および出力は、任意の便利なリストまたは文字列の形式であってもよいが、範囲内の任意の整数をサポートする必要があり-2 31 ≤X <2 31。原則として、コードは長さ2 31までの配列で動作するはずですが、これは必ずしもメモリに収まる必要はなく、妥当な時間内に完了する必要もありません。(ハードコードループなどの任意のサイズ制限を見たくありません。) これはコードゴルフなので、最短の提出(バイト単位)が勝ちです。 リーダーボード 次のスニペットは、シリーズのすべての課題にわたってリーダーボードを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、すべての回答を見出しで開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes (言語は現在表示されていませんが、スニペットはそれを必要とし、解析します。将来、言語ごとのリーダーボードを追加するかもしれません。) コードスニペットを表示 /* Configuration */ var QUESTION_IDs = [45302, 45447, 46991, 49394, 51222, 66319, …

30
単語検索をしましょう!
この課題では、さまざまな言語の多くのプログラムを含む単語検索を一緒に作成します。 60行25列の空白(·)のグリッドから始めましたが、その一部はRubyプログラムの文字に置き換えられています。 回答するには、まだ使用されていない言語を選択してください。選択した言語を使用して、文字、トークン、行、またはコンソールからのすべての入力を読み取り、印刷するプログラムを作成します。次に、プログラムを単語検索に挿入します。 たとえば、答えとしてPython 3を選択し、プログラムを記述したとしますprint(input())。次に、そのプログラムをグリッドに挿入する必要があります。 回答前のグリッドが次のようになっている場合: ···a·24·········· ··z····t········· 次に、プログラムを2行目に置くだけで、既存のものと重複させることができますt。 ···a·24·········· ··zprint(input()) プログラムは、直線である限り、前方、後方、上方、下方、斜めのどの方向にも配置できます。 しかし、既存のグリッドが次のようになっている場合はどうでしょうか: ···a·24·········· ··z····q········· print(input())既存のキャラクターを変更せずにここに合わせる方法はありません。これは禁止されています。代わりに、プログラムを変更できます。 print( input()) この2行のプログラムはきれいに適合します。 ···a·24·print(··· ··z····q input()) ここでは、空白(·)をスペース()に置き換えます。ただし、スペースは他の文字とまったく同じであり、将来のプログラムで上書きすることはできません。 ワンライナーのように、マルチラインプログラムは任意の方向に配置できます。たとえば、より大きなグリッドでは、プログラムを時計回りに135°回転させることで、次のことができます。 ·········· ········ · ·······i·p ······n·r· ·····p·i·· ····u·n··· ···t·t···· ··(·(····· ·)········ )········· 得点 各回答のスコアは、30を追加された文字数で割ったものです。自分で使用する場合でも、グリッドに既に存在する文字をカウントしないでください。 合計スコアは、すべての回答のスコアの合計に回答数を掛けたものです。最高スコアが勝ちます。 ルール すべての回答は異なる言語で書かれている必要があります。バージョン番号のみが異なる言語(Python 2とPython 3など)は同じと見なされます。 すべての回答は、最新の有効な回答から構築する必要があります。つまり、そのような最新の回答のグリッドを取得し、それにプログラムを挿入します。 プログラムを挿入するには、少なくとも1つの空白(·)を選択した文字に置き換えます。グリッド内の既存のキャラクターを回答に使用できますが、それらを変更したり移動したりすることはできません。 すべての回答に合計500文字を超えて挿入することはできません。 挿入するすべての文字は、プログラムの一部でなければなりません。 プログラムは、印刷可能なASCIIと改行のみで構成されている場合がありますが、連続する2つ以上の連続した改行がない場合があります。 改行はスコアにカウントされません。 関数やスニペットだけでなく、完全なプログラムが必要です。 同じユーザーが2つの連続した回答を書くことはできません。 …

17
GolfScriptでのゴルフのヒント
この投稿はまだありませんか? もちろん、GolfScriptはゴルフ用に作られているので、特定のヒントは本当に必要ないと思うかもしれません。しかし、GolfScriptの機能を最大限に活用するには、いくつかの非自明なトリックを学ぶ必要があります。この投稿は、このような役立つヒントやコツを収集するためのものです。 まず、公式のGolfScriptリファレンスページがあります。最初にこれらをよく理解する必要があります。 チュートリアル 構文 ビルトイン クイックリファレンス 特に、この順序でページを読むことを強くお勧めします。クイックリファレンスは、組み込みに十分慣れているまではほとんど役に立ちません。チュートリアルには、他のページでは説明されていない重要な詳細が含まれます。 。 追伸 インスピレーションと個人的な興味のために、次の質問に答えてください。 GolfScriptで文字変換を制限する方法は? {FROM?TO=}%作品ならば、あなたは必ずすべての入力がで発見されたことができますFROM(または、それらはすべての最後の要素にマッピングされて気にしないTO)が、私は変わらず、マッピングされていない値を残すために見てきたすべての方法は、多かれ少なかれklugeyされています。 文字列をASCIIコードの配列に変換したり戻したりするにはどうすればよいですか?副作用としてこれを行う操作はどれですか?文字列の文字をスタックにダンプする最良の方法は何ですか(~配列の場合と同様)?

14
数独圧縮
あなたの仕事は、次のような言語でプログラム(または2つの別個のプログラム)を書くことです。 完成した数独ボードを入力(任意の論理形式)として受け取り、文字列に圧縮できます。 圧縮された文字列を入力として使用し、解凍してまったく同じ完成した数独ボードを取得できます(9行の論理形式で出力) 注:数独のルールを活用してください。それがこの挑戦の背後にある考え方です。 ウィキペディアの数独ルール ルール 圧縮出力では、印刷可能なASCII文字(32-126)のみが許可されます(マルチバイト文字なしなど)。 入力は有効な3x3数独ボード(通常のルール、バリエーションなし)であると想定できます。 私は時間制限を課しませんが、ブルートフォースアルゴリズムを作成しません。または、投稿者は投稿する前に投稿をテストできる必要があります(Jan Dvorakに感謝)。 質問や懸念がある場合は、説明を求めたり、コメントで提案を行ったりできます。 勝利条件 スコア= 10個すべてのテストケースの文字数の合計 最低スコアが勝ちます。 テストケース これらを使用して、プログラムの動作をテストできます。 9 7 3 5 8 1 4 2 6 5 2 6 4 7 3 1 9 8 1 8 4 2 9 6 7 5 3 2 4 7 8 6 5 …

24
Stack Exchange Stock Exchange〜改訂[終了]
バックグラウンド あなたはすべて、評判の良い株式会社よりもわずかに少ないトレーダーです。あなたはすべて、特定の1つの銘柄のみに焦点を当てるトレーダーのグループの一員です。 1時間ごとに、各トレーダーはX株を購入するか、X株を売るチャンスがあります。ラウンドごとに50時間、競技ごとに3ラウンドがあります。すべてのラウンドの最後に、平均値が最も高いトレーダーがジャマイカへの旅行に勝ちます! ゲームプレイ それぞれ50ターンの3ラウンドがあります。 各トレーダーは、5000ドルと20〜30株の間のランダムな数の株でラウンドを開始します。株式の価格は10から150の間の乱数から始まります。 各トレーダーは、各トレーダーが購入できる株をいくつでも購入したり、現在保有している株を何株でも売ったりすることができます。 1株当たりの価格は、購入した各株式について1〜5の乱数で上昇し、売却した各株式について2〜6の乱数で下落します。最低価格は1ドルです。 すべてのトレーダーが取引を同時に処理することに注意することが重要です。つまり、トレーダーが株式を購入/売却しても、次のターンまで価格には影響しません。 3ラウンドの終了時に最高の平均値を持つプレイヤーが勝ちます。価値は、ラウンドの終わりに残った金額を取り、トレーダーが保有する株式数*終値を加算することによって決定されます。 引数 プログラムは、現在の市場価格、トレーダーの現在の金額、トレーダーが所有する株式数を受け取る各ターンの開始時に再実行されます。 例: 120 5000 0 出力 トレーダープログラムは、実行するアクションに対応する文字と、それに続く量を出力する必要があります。 例: B10 //Buy 10 shares または S3 //Sell 3 shares トレーダーには、何もしないというオプションもあります。これは、Wまたは「B> amnt <」または「S> amnt <」ではない他のコマンドを出力することで実現できます。 提出 あなたのプログラムは「players />あなたのプログラム名<」ディレクトリの中にあります: +-- players | +-- BotNameFolder | +-- BotProgram 「players」ディレクトリ内から実行するには、コマンドライン引数とともにコードを提供してください。たとえば、Test1トレーダーは次のように実行できます。java -cp "Test1" Test1 追加の規則 さあ、エモウルフ、Idcを撃ってください。 …

30
バイナリ1のカウントで数値を並べ替える
ゴール 関数またはプログラムを作成して、整数の配列をバイナリ表現に存在する1の数で降順​​に並べ替えます。二次ソート条件は必要ありません。 ソートされたリストの例 (16ビット整数を使用) Dec Bin 1's 16375 0011111111110111 13 15342 0011101111101110 11 32425 0111111010101001 10 11746 0010110111100010 8 28436 0000110111110100 8 19944 0100110111101000 8 28943 0000011100011111 8 3944 0000011111101000 7 15752 0011110110001000 7 825 0000000011111001 6 21826 0101010101000010 6 入力 32ビット整数の配列。 出力 説明どおりにソートされた同じ整数の配列。 得点 これは、1週間の時間内に選択される最小バイト数のコードゴルフです。

25
終了するが終了しないプログラム[クローズ]
終了時に再び自動的に起動するプログラムを作成します。 同時に実行されているプログラムのインスタンスは1つだけにする必要があります。ほんの一瞬でも。 サイクル中にユーザーが手動で開始したインスタンスは無視できます。しかし、コードは再起動サイクルでそれを行うべきではありません。 プログラムは、再開することが保証されている限り、任意の時間の後に開始できます。 サイクルを停止する唯一の方法は、プロセスを強制終了することです。 ソリューションには、環境(OS、マシン、VM、シェルなどを含むプログラムが実行されている)の再起動を含めないでください。プログラムのみが再起動できます。

19
1P5:反復囚人のジレンマ
このタスクは、最初の定期的なプレミアプログラミングパズルプッシュの一部であり、新しいキングオブザヒルチャレンジタイプの提案のデモンストレーションを目的としています。 タスクは、繰り返しの囚人のジレンマを他の参加者よりもうまくプレイするプログラムを書くことです。 ほら、ヴィニー。私たちはあなたのセルメートを知っています---彼の名前は何ですか?ニッポ・アイルランド・ウクライナのギャング、ええ、マクウォンスキーは何かしらあなたが知っています。 ここで素敵になろうとしています、ヴィニー。あなたにチャンスを与えます。 彼が何を計画しているのかを教えていただければ、良い仕事が割り当てられます。 そして、もしあなたが... ゲームのルール コンテストは、一度に2人の競技者の完全なラウンドロビン(可能なすべてのペアリング)で構成されます(自己プレーを含む)。 各ペア間で100ラウンドプレイされます 各ラウンドでは、各プレイヤーは、他のプレイヤーの意図を知らずに、他のプレイヤーと協力するか裏切るかを選択するように求められますが、この対戦相手と対戦した前のラウンドの結果を記憶します。 組み合わせた選択に基づいて、各ラウンドでポイントが付与されます。両方のプレイヤーが協力すると、それぞれ2ポイントを獲得します。相互裏切りはそれぞれ1ポイントをもたらします。混合ケースでは、裏切りプレイヤーに4ポイントが付与され、協力者には1のペナルティが科せられます。 「オフィシャル」マッチは、投稿後10日以内に実行され、私が仕事に参加し、「受け入れられた」勝者を選択するために使用できるすべての提出物が含まれます。私はMac OS 10.5ボックスを持っているので、POSIXソリューションは動作するはずですが、動作しないLinuxismがあります。同様に、win32 APIのサポートもありません。私は物事をインストールする基本的な努力をするつもりですが、制限があります。私のシステムの制限は、受け入れ可能な応答の制限を表すものではなく、単に「公式」一致に含まれるものです。 プログラマーインターフェイス エントリは、コマンドラインから実行できるプログラムの形式である必要があります。決定は、標準出力上のプログラムの(唯一の)出力でなければなりません。この対戦相手との以前のラウンドの履歴は、コマンドライン引数として提示されます。 出力は、「c」(クラムアップ)または「t」(すべてを伝える)のいずれかです。 履歴は、以前のラウンドを表す文字の単一の文字列であり、最新のラウンドが文字列の中で最も早く来ています。キャラクターは 「K」(相互協力を意味する信仰を維持するため) 「R」(ラットb @ st @ rdの場合は売り切れました!) 「S」(吸盤用!裏切りの恩恵を受けたことを意味します) 「E」(誰もが相互裏切りでナンバーワンを探しているため) ブラケット 著者によって4人のプレイヤーが提供されます エンジェル-常に協力 悪魔-いつも話す TitForTat-最初のラウンドで協力し、常に最後のラウンドで行われたとおりに行います ランダム-50/50 これに、実行できるすべてのエントリを追加します。 合計スコアは、すべての対戦相手に対する合計スコアになります(1回だけのセルフプレイと平均スコアの使用を含む)。 応募者 (2011年5月2日現在7:00) 秘密の握手 | 対T42Tミサイル | 不信(バリアント) | アンチハンドシェイク | リトル・リスパー | 収束 | サメ …

30
半対角アルファベット
英語のアルファベットの文字が与えられた場合、あなたの仕事は入力に対して半対角アルファベットを作成することです。 半対角アルファベットを作成する方法は? 簡単な説明:最初に、アルファベットの文字の位置を取得しますP(Pここでは1から始まります)。次に、行に入力(包括的)が来るまで各文字を印刷し、その文字の前にスペースを入れP-1てその文字を繰り返しPます。 例: 与えられたF、あなたのプログラムは出力するはずです: A BB CCC DDDD EEEEE FFFFFF 与えられたK、あなたのプログラムは出力するはずです: A BB CCC DDDD EEEEE FFFFFF GGGGGGG HHHHHHHH IIIIIIIII JJJJJJJJJJ KKKKKKKKKKK 与えられたA、あなたのプログラムは出力するはずです: A ルール 小文字または大文字を選択できますが、それは一貫している必要があります。 次のように余分なスペースがある場合があります。 一貫した先行スペース(各行)。 末尾または先頭の改行。 末尾のスペース。 入力および出力は、任意の標準的な平均で取得でき、デフォルトの抜け穴が適用されます。 ascii-artバージョンも提供している限り、代わりに行のリストを出力できます。 これはcode-golfなので、バイト単位の最短コードが勝ちです! この挑戦に触発された。

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