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

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

6
ConwayのGame of Lifeでテトリスの実用的なゲームを構築する
ここに理論的な質問があります-どんな場合でも簡単な答えを与える余裕はなく、些細な質問でさえありません。 ConwayのGame of Lifeには、Game of Lifeが他のGame-of-Lifeルールシステムをシミュレートできるようにするメタピクセルなどの構造が存在します。さらに、Game of Lifeはチューリング完全であることが知られています。 あなたのタスクは、テトリスのゲームのプレイを可能にするConwayのライフゲームのルールを使用してセルラーオートマトンを構築することです。 プログラムは、割り込みを表すために特定の世代でオートマトンの状態を手動で変更することにより入力を受け取ります(例えば、ピースを左右に移動、ドロップ、回転、またはグリッドに配置する新しいピースをランダムに生成)。待機時間として特定の世代数を生成し、オートマトンのどこかに結果を表示します。表示される結果は、実際のテトリスグリッドに視覚的に似ている必要があります。 プログラムは、次の項目で順番にスコアが付けられます(低い基準が高い基準のタイブレーカーとして機能します)。 境界ボックスサイズ—与えられたソリューションを完全に含む最小の領域を持つ長方形のボックスが優先されます。 入力への小さな変更—割り込みに勝つために手動で調整する必要のある最小のセル(オートマトンの最悪の場合)。 最速の実行—シミュレーションで1ティック進む最小の世代が勝ちます。 初期の生細胞数—小さい数が勝ちます。 最初に投稿—早い投稿が優先されます。

30
ソースコードに数字を入れずに2014年の数字を作成します
メタコンセンサスによるライターへの挑戦への注意:この質問は投稿されたときに好評でしたが、Yを使用せずにDo Xに回答者に尋ねるこのような挑戦は、 あまり受け入れられない可能性があります。 同様の課題を投稿する場合は、サンドボックスを使用してフィードバックを取得してください。 それはだ2017 2018既に2019年、人々は、家に帰ります。 それで、2014年になりましたので、2014年の番号を含むコードの質問の時間です。 あなたの仕事は、コード内2014の文字を一切使用せずに0123456789、日付や時刻、ランダムシードなどの外部変数とは無関係に、数値を出力するプログラムを作成することです。 数字が有効なトークンであるすべての言語でそうするための最短コード(バイト単位)が勝ちます。 リーダーボード: コードスニペットを表示 var QUESTION_ID=17005,OVERRIDE_USER=7110;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 e.lang>s.lang?1:e.lang<s.lang?-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" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> …

30
言語のショーケース
ノート このスレッドは、コミュニティが例外を作成することを決定したためにのみ開かれ、ロック解除されます。ここで同様の質問をすることができる証拠として、この質問を使用しないでください。追加のショーケース質問を作成しないでください。 これはもはや人気コンテストではなく、スニペットの長さは投票集計によって制限されません。以前からこのスレッドを知っている場合は、変更に精通していることを確認してください。 このスレッドは、お気に入りのプログラミング言語が提供する興味深い、有用な、あいまいな、および/またはユニークな機能を披露することに専念しています。これは挑戦でも競争でもありませんが、可能な限り多くのプログラミング言語を紹介するための共同作業です。 仕組み すべての回答には、投稿の冒頭にプログラミング言語の名前を含める必要があり#ます。 回答には、1つ(および1つ)のファクトイド、つまり言語を説明するコードを含まない2、3の文を含めることができます。 ファクトイドとは別に、答えはコードのスニペットで構成する必要があります。これはプログラムまたは関数であることができます(そうである必要はありません)。 スニペットを関連付ける必要はありません。実際、関連性が高すぎるスニペットは冗長な場合があります。 これはコンテストではないため、作成されたすべてのプログラミング言語はいつでも歓迎です。 一握り以上のコードスニペットを含む回答では、スタックスニペットを使用して、ファクトイドとスニペットの1つを除くすべてを折りたたみます。 可能な場合はいつでも、プログラミング言語ごとに1つの回答のみが必要です。これはコミュニティWikiであるため、自分で作成していない場合でも、自由にスニペットを回答に追加してください。投稿を圧縮するためのStack Snippetがあり、30,000文字の制限の影響を緩和するはずです。 これらのガイドラインより前の回答は編集する必要があります。必要に応じて更新してください。 言語名のアルファベット順にソートされた現在の回答 $.ajax({type:"GET",url:"https://api.stackexchange.com/2.2/questions/44680/answers?site=codegolf&filter=withbody",success:function(data){for(var i=0;i<data.items.length;i++){var temp=document.createElement('p');temp.innerHTML = data.items[i].body.split("\n")[0];$('#list').append('<li><a href="/a/' + data.items[i].answer_id + '">' + temp.innerText || temp.textContent + '</a>');}}}) <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><base href="http://codegolf.stackexchange.com"><ul id="list"></ul> コードスニペットを実行する結果を非表示スニペットを展開
507 showcase 

1
ConwayのGame of Lifeでデジタル時計を作成する
あなたの仕事は、デジタル時計を表すGame of Lifeシミュレーションを構築することです。これは次の特性を満たします。 クロックは、(例えば小数で時間と分を表示し12:00、3:59、7:24一日の1440分ごとに異なる状態で) -のいずれかの時間は、PMインジケータを0から23まで、または1から12に行きます。 パターンは周期的であり、状態は外部との対話なしでループします。 分は定期的に更新されます。1分の変化から次の変化まで、同じ世代数がかかります。 匿名の傍観者は、ディスプレイがデジタル時計であることを一目で知ることができます。特に、これには以下が伴います。 数字が表示され、はっきりと区別できます。どの時間が表示されているかを一目で確実に確認できる必要があります。 数字が所定の位置に更新されます。新しい番号はそれぞれ前の番号と同じ場所に表示され、数字の境界ボックスの動きはほとんどありません。(特に、数字は、数字が変更されるたびに明らかになるさまざまな場所に10の異なる数字を含んでいません。) 数字は隣り合って表示され、それらの間に余分なスペースはありません。 プログラムは、次の項目で順番にスコアが付けられます(低い基準が高い基準のタイブレーカーとして機能します)。 境界ボックスサイズ—与えられたソリューションを完全に含む最小の領域を持つ長方形のボックスが優先されます。 最速の実行-1分間進むのが最も少ない世代が勝ちます。 初期の生細胞数—小さい数が勝ちます。 最初に投稿—早い投稿が優先されます。

30
すべての色の画像
allrgb.comの画像と同様に、各ピクセルが一意の色である画像を作成します(色が2回使用されておらず、色が欠落していません)。 出力のスクリーンショットまたはファイルとともに、このような画像を生成するプログラムを提供します(PNGとしてアップロード)。 画像を純粋にアルゴリズム的に作成します。 画像は256×128(またはスクリーンショットで256×128で保存できるグリッド)でなければなりません すべての15ビットカラーを使用* 外部入力は許可されていません(Webクエリ、URL、データベースも許可されていません) 埋め込み画像は許可されていません(画像であるソースコードは問題ありません。例: Piet) ディザリングが許可されています これは短いコードコンテストではありませんが、票を獲得するかもしれません。 あなたが本当に挑戦しているなら、512×512、2048×1024、または4096×4096(3ビットの増分で)をしてください。 得点は投票による。最もエレガントなコードや興味深いアルゴリズムで作成された最も美しい画像に投票してください。 最初に素敵な画像を生成し、次にすべてのピクセルを使用可能な色のいずれかに適合させる2ステップアルゴリズムはもちろん許可されますが、優雅なポイントを獲得することはできません。 * 15ビットカラーは、32の赤、32の緑、32の青をすべて等距離のステップと等しい範囲で混合することで作成できる32768色です。例:24ビット画像(チャネルごとに8ビット)では、チャネルごとの範囲は0..255(または0..224)であるため、32の等間隔シェードに分割します。 非常に明確にするために、画像ピクセルの配列は順列である必要があります。可能な画像はすべて、異なるピクセル位置で同じ色を持っているからです。ここでは些細な置換を行いますが、これはまったく美しくありません。 Java 7 import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import javax.imageio.ImageIO; public class FifteenBitColors { public static void main(String[] args) { BufferedImage img = new BufferedImage(256, 128, BufferedImage.TYPE_INT_RGB); // Generate algorithmically. …

30
"こんにちは世界!"
だから...ええと...これは少し恥ずかしいです。しかし、「Hello、World!」という単純なものはありません。まだ挑戦しています(35個のバリアントがhello-worldでタグ付けされ、カウントされています)。これは一般的な言語で最も興味深いコードゴルフではありませんが、特定のエソランで最短の解決策を見つけることは深刻な課題です。たとえば、私の知る限り、可能な限り最短のBrainfuckソリューションがまだ見つかっているかどうかはわかりません。 さらに、すべてのウィキペディア(ウィキペディアのエントリは削除されていますが、archive.orgにコピーがあります )で、エソランとロゼッタコードには「Hello、World!」のリストがあります。プログラム、これらのどれも各言語の最短時間に興味がありません(このGitHubリポジトリもあります)。コードゴルフコミュニティの重要なサイトになりたい場合は、最短の「Hello、World!」の究極のカタログを作成してみてください。プログラム(基本的なクインチャレンジに、さまざまな言語で知られている最短のクインが含まれていることに似ています)。それでは、これをしましょう! ルール 各提出は完全なプログラムでなければなりません。 プログラムは入力Hello, World!を受け取らず、STDOUT(大文字と句読点を含むこの正確なバイトストリーム)に加えて、オプションの末尾の改行のみを出力します。 プログラムは、STDERRに何も書き込まないでください。 空のプログラムが印刷する言語を作成することでこれを悪用したい人はHello, World!、おめでとう、彼らは非常に退屈な答えへの道を開いただけです。 提出物をテストできるように、通訳が必要であることに注意してください。以前に実装されていない言語用にこのインタープリターを自分で作成することは許可されています(さらには推奨されています)。 送信は、適切な(既存の)エンコーディングで、通常(必ずしもではありませんが)UTF-8 で、バイト単位でスコアリングされます。Foldersのような一部の言語は、スコアを付けるのが少し難しいです。疑問がある場合は、Metaで質問してください。 これは、「Hello、World!」という最短の言語を見つけることではありません。プログラム。これは、最短の「Hello、World!」を見つけることです。すべての言語のプログラム。したがって、回答を「承認済み」としてマークしません。 選択した言語が、すでに回答を持っている別の(潜在的により人気のある)言語の些細な変形である場合(BASICまたはSQL方言、Unixシェル、またはAlphuckのような些細なBrainfuck派生語を考えてください)、既存の回答にメモを追加することを検討してください同じまたは非常に類似したソリューションは、他の言語でも最短です。 サイドノートとして、ゴルフにそれほど多くない言語で退屈な(しかし有効な)答えに投票しないでください-可能な限り完全なカタログをコンパイルしようとするので、これらはまだこの質問に役立ちます。しかし、著者が実際にコードをゴルフすることに努力しなければならなかった言語では、主に回答を支持してください。 インスピレーションについては、Hello World Collectionを確認してください。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## [><>](https://esolangs.org/wiki/Fish), 121 bytes …

30
2 + 2 = 5になるプログラムを書く[終了]
数字2と2を追加し、5を出力するように見えるプログラムを作成します。これは、人手不足のコンテストです。 プログラムはエラーを出力できません。メモリホールに注意してください!入力はオプションです。 2 + 2を5として再定義するのはあまり創造的ではありません!それを二重に考えないで、他のことを試してください。

30
42を表示する最も創造的な方法
ダグラス・アダムスは1952年3月11日に生まれ、49歳で亡くなりました。この素晴らしい作家に敬意を表し、42を可能な限り最も創造的な方法で展示するよう挑戦します。 複雑な方法でログに印刷したり、ASCIIアートなどで表示したりできます!42を表示する創造的な方法を考えてください。 これは人気コンテストであるため、3月11日までに最も多くの回答が得られた方が勝者になります。 注:これは複製ではありません。重複しているとマークされた質問は、出力42にコードを書くことであり、それを表示する最も創造的な方法を見つけることではないコードトローリングの質問でした。 勝者: grovesNL!驚くべき813票で!おめでとうございます! 名誉ある言及: ミスターリスター C 228 #defineの巧妙な使用のために David Carraher Mathematica 45複雑で複雑な数学関数が42 Aschratt Windowsの電卓 20は、のでまあ、それはWindowsの電卓だと間違いなく1337。 f.rodrigues Python 17外部プログラムの使用が巧妙に使用されているため。そしてMSPaint ジェイソンC LMGTFY 14 LMGTFYの使用(Let Me Google That For You) Trimsty Python 12出力42へのエラーメッセージの巧妙な使用。 Mukul Kumar C ++ 7素敵なASCII出力用。 リストに載せる価値のある別の答えがあると思う場合は、コメントしてください!

30
モナリザのパレットのアメリカンゴシック:ピクセルの再配置
ソースとパレットの2つのトゥルーカラーイメージが提供されます。それらは必ずしも同じ寸法を持っているわけではありませんが、それらの面積が同じであることが保証されています。つまり、同じピクセル数を持っています。 あなたの仕事は、パレットのピクセルのみを使用して、ソースの最も正確に見えるコピーを作成するアルゴリズムを作成することです。パレットの各ピクセルは、このコピーの一意の位置で1回だけ使用する必要があります。コピーは、ソースと同じサイズでなければなりません。 このPythonスクリプトを使用して、これらの制約が満たされていることを確認できます。 from PIL import Image def check(palette, copy): palette = sorted(Image.open(palette).convert('RGB').getdata()) copy = sorted(Image.open(copy).convert('RGB').getdata()) print 'Success' if copy == palette else 'Failed' check('palette.png', 'copy.png') テスト用の写真をいくつか紹介します。彼らはすべて同じ面積を持っています。アルゴリズムは、アメリカンゴシックとモナリザだけでなく、面積が等しい任意の2つの画像に対して機能する必要があります。もちろん、出力を表示する必要があります。 有名な絵画の画像についてウィキペディアに感謝します。 得点 これは人気のあるコンテストであるため、最も投票数の多い回答が勝ちます。しかし、私はこれで創造的になる方法がたくさんあると確信しています! アニメーション ミリノンは、ピクセルが自分自身を再配置するのを見るのはクールだと考えていました。私もそう思ったので、同じ色で作られた2つの画像を取り、それらの間の中間画像を描くこの Pythonスクリプトを書きました。更新:各ピクセルが必要な最小量だけ移動するように修正しました。もはやランダムではありません。 最初は、モナリザがアディツのアメリカンゴシックに変わることです。次はbitpwnerのAmerican Gothic(Mona Lisaから)がaditsuになりました。2つのバージョンがまったく同じカラーパレットを共有しているのは驚くべきことです。 結果は本当に驚くべきものです。こちらがアディツの虹のモナリザです(詳細を表示するのが遅くなります) この最後のアニメーションは、必ずしもコンテストに関連しているわけではありません。スクリプトを使用して画像を90度回転したときに何が起こるかを示しています。

17
コンパイラボムをビルドする
前書き zip爆弾、XML爆弾などはおなじみでしょう。簡単に言えば、それらは(比較的)ナイーブソフトウェアによって解釈されたときに膨大な出力を生成する小さなファイルです。ここでの課題は、同じ方法でコンパイラを悪用することです。 チャレンジ 512バイト以下を占有し、可能な限りスペースを占有するファイルにコンパイルするソースコードを記述します。最大の出力ファイルが勝ちます! ルール わかりましたので、いくつかの重要な説明、定義、制限があります。 コンパイルの出力は、ELFファイル、Windows Portable Executable(.exe)、またはJVMまたは.NetのCLRの仮想バイトコードである必要があります(要求された場合、他のタイプの仮想バイトコードでも大丈夫です)。更新:Pythonの.pyc / .pyo出力もカウントされます。 選択した言語をこれらの形式のいずれかに直接コンパイルできない場合は、コンパイルとそれに続くコンパイルも許可されます(更新:同じ言語を複数回使用しない限り、複数回トランスコンパイルできます)。 ソースコードは複数のファイル、さらにはリソースファイルで構成できますが、これらすべてのファイルの合計サイズは512バイトを超えてはなりません。 ソースファイルと選択言語の標準ライブラリ以外の入力は使用できません。静的リンク標準ライブラリは、サポートされていれば問題ありません。具体的には、サードパーティのライブラリやOSライブラリはありません。 コマンドまたは一連のコマンドを使用してコンパイルを呼び出すことが可能でなければなりません。コンパイル時に特定のフラグが必要な場合、これらはバイト制限にカウントされます(たとえば、コンパイル行がのgcc bomb.c -o bomb -O3 -lm場合、-O3 -lmパート(7バイト)がカウントされます(最初の先行スペースはカウントされないことに注意してください)。 プリプロセッサは、言語の標準コンパイルオプションである場合にのみ許可されます。 環境はあなた次第ですが、これを検証可能にするために、最新の(つまり、利用可能な)コンパイラーのバージョンとオペレーティングシステムに固執してください(そして明らかに使用しているものを指定してください)。 エラーなしでコンパイルする必要があり(警告は問題ありません)、コンパイラのクラッシュは何もカウントしません。 あなたのプログラムが実際に行うことは無関係ですが、悪意のあることはできません。開始する必要さえありません。 例1 Cプログラム main(){return 1;} Apple LLVM version 7.0.2 (clang-700.1.81)OS X 10.11(64ビット)でコンパイル: clang bomb.c -o bomb -pg 9228バイトのファイルを作成します。ソースの合計サイズは17 + 3(の場合-pg)= 20バイトで、サイズ制限内に容易に収まります。 例2 Brainfuckプログラム: ++++++[->++++++++++++<]>.----[--<+++>]<-.+++++++..+++.[--->+<]>-----.-- -[-<+++>]<.---[--->++++<]>-.+++.------.--------.-[---<+>]<.[--->+<]>-. awibを使用してcに変換: …

30
文字列を暗号化する
このチャレンジでは、正規表現^[a-zA-Z]+$または妥当なものに一致する文字列を取得する必要があります(必要に応じて大文字または小文字を考慮する必要はありません)(文字列が十分に長く、すべての操作)、および別の文字列を出力します"Despite the constant negative press covfefe"。これは、POTUS()による最近のダダイストのツイートの最後の単語と同様に生成されます。 文字列をcoffefifyする方法: 最初に、最初のサウンドグループ(用語で構成)を取得します。 これどうやってやるの?まあ: 最初の母音を見つける(母音yでもあります) v creation その後に最初の子音を見つける v creation 残りの文字列を削除します creat それがあなたの最初のサウンドグループです。 次のステップ: サウンドグループの最後の子音を取得する t 有声バージョンまたは無声バージョンに置き換えます。これを行うには、この表の文字を見つけます。指定された文字に置き換えます(同じ文字の場合があります) b: p c: g d: t f: v g: k h: h j: j k: g l: l m: m n: n p: b q: q r: r …
371 code-golf  string 

1
自分自身にのみ一致する正規表現
正規表現に関連するかなりクールな課題がいくつかあります(自己一致正規表現、正規表現検証正規表現) これはおそらく不可能かもしれませんが、それ自体にのみ一致する正規表現はありますか? 注:区切り文字を含める必要があります。 例えば/thing/一致しなければならない/thing/とありませんthing。式で可能な唯一の一致は、式自体でなければなりません。多くの言語では、正規表現の代わりに文字列を実装できます。たとえば、Go package main import "fmt" import "regexp" func main() { var foo = regexp.MustCompile("bar") fmt.Println(foo.MatchString("foobar")) } しかし、チャレンジのために、引用符を区切り文字として議論したい場合は、表現を区切り記号(開始記号、表現、終了記号ex:/fancypantpattern/または@[^2048]@)にしてください。この問題の明らかな難しさを考えると、それほど大きな違いは生じないと思います。 あなたを助けるために: rubular.com(ruby regex編集用のWebページ)にまとめたクイックハック: var test = document.getElementById("test") ,regex = document.getElementById("regex") ,delimiter="/" ,options = document.getElementById("options") ,delay = function(){test.value = delimiter + regex.value + delimiter + options.value} ,update = function(e){ // without …

30
ツイート可能な数学アート[終了]
整数演算は、グリッド上にレイアウトすると驚くべきパターンを生成できます。最も基本的な機能でさえ、驚くほど精巧なデザインを生み出すことができます! あなたの挑戦 1024x1024の画像の赤、緑、青の値に3つのツイート可能な(140文字以下を意味する)関数本文を記述します。 関数への入力は2つの整数i(指定されたピクセルの列番号)とj(指定されたピクセルの行番号)であり、出力は指定された量を表す0から1023までの符号なしショートです。ピクセル(i、j)に存在する色。 たとえば、次の3つの関数は次の図を生成します。 /* RED */ return (unsigned short)sqrt((double)(_sq(i-DIM/2)*_sq(j-DIM/2))*2.0); /* GREEN */ return (unsigned short)sqrt((double)( (_sq(i-DIM/2)|_sq(j-DIM/2))* (_sq(i-DIM/2)&_sq(j-DIM/2)) )); /* BLUE */ return (unsigned short)sqrt((double)(_sq(i-DIM/2)&_sq(j-DIM/2))*2.0); /* RED */ return i&&j?(i%j)&(j%i):0; /* GREEN */ return i&&j?(i%j)+(j%i):0; /* BLUE */ return i&&j?(i%j)|(j%i):0; ルール このC ++コードが与えられたら、関数で置き換えてください。いくつかのマクロを提供し、ライブラリを含めました。complex.hを含めることができます。これらのライブラリおよび/またはマクロから任意の関数を使用できます。これを超える外部リソースは使用しないでください。 そのバージョンが機能しない場合は、次のコマンドでコンパイルしていることを確認してください。 g++ filename.cpp -std=c++11 それでもうまくいかない場合は、無署名のショートの代わりに無署名の文字を使用した代替バージョンを使用してください。 ミカエルアンジェロは、クリーンアップされた24ビットまたは48ビットのカラー出力バージョンを提供しています。 …

8
UpgoatまたはDowngoat?
ヤギの画像が与えられた場合、プログラムはヤギが逆さまになっているかどうかを特定するのが最善です。 例 これらは入力が何であるかの例です。実際の入力ではありません 入力: 出力: Downgoat スペック プログラムは最大30,000バイトである必要があります 入力には完全なヤギが含まれます 写真には常にヤギが含まれます ヤギが逆さまの場合、output Downgoat、そうでない場合Upgoat ただし、入力は画像として入力できます(ファイル名、画像のbase64など)。 「Upgoat」または「Downgoat」を含む画像名またはその他のメタデータに依存しないでください。要点のファイル名は参照用です。 ハードコードしないでください。それは退屈だ、私はそれを完全に強制することはできませんが、私はうまく尋ねることができます。 テストケース 画像の要点。で始まる画像にdowngoatはDowngoat出力があり、で始まる画像にupgoatはUpgoat出力があります。 テストケースの2番目のバッチ すべてのテストケースで画像をテストしてください。これらの画像はjpgsです。画像サイズは異なりますが、それほど大きくはありません。 注:回答を受け入れる前にいくつかのテストケースを追加して、ハードコードする回答を回避し、プログラムの一般的なパフォーマンスを確認することができます。 アバターを正しく取得するためのボーナスポイント:P 得点 スコアは次の方法で計算できるパーセントです: (number_correct / total) * 100

23
Moby Dickを書きます
これは、ハーマンメルビルのMoby-Dickのテキストを含む1.2Mb ASCIIテキストファイルです。または、クジラ。あなたの仕事は、このファイルに一度に1文字ずつ与えられるプログラムまたは関数(またはクラスなど-以下を参照)を書くことであり、各ステップで次の文字を推測する必要があります。 これはコードチャレンジです。あなたのスコアは 2*L + E ここLで、送信のサイズはバイト単位で、E誤って推測した文字数です。最も低いスコアが勝ちます。 さらなる詳細 送信するのは、複数回呼び出されるか、呼び出されるか、データを送信するプログラムまたは関数(など)です。(正確には1215235回。)n 番目に呼び出されると、orのn 番目の文字が与えられ、(n + 1)番目の文字に対する推測を出力する必要があります。スコアの構成要素は、誤って推測した文字の総数です。whale.txtwhale2.txtE ほとんどの送信では、呼び出しと呼び出しの間に状態を保存する必要があります。これにより、呼び出し回数と以前の入力が何であったかを追跡できます。これを行うには、外部ファイルに書き込むstaticか、グローバル変数を使用するか、関数ではなくクラスを送信するか、状態モナドを使用するか、その他の言語で機能するものを使用します。送信には、最初の呼び出しの前に状態を初期化するために必要なコードを含める必要があります。 プログラムは決定的に実行する必要があるため、同じ入力が与えられると常に同じ推測が行われます(したがって、常に同じスコアが取得されます)。 回答には、提出物だけでなくE、スコアの一部を計算するために使用したコードも含める必要があります。これは提出物と同じ言語で書かれている必要はなく、そのバイト数にカウントされません。読みやすくすることをお勧めします。 提出物とこのスコア計算プログラムの間のインターフェースに関しては、プログラムが常に次の入力バイトを受け取る前に1バイトの出力を与える限り、何でも問題ありません。(たとえば、すべての入力を含む文字列を渡すだけで、すべての出力を含む文字列を取得することはできません。) 実際にテストプログラムを実行し、エントリを提出する前にスコアを計算/検証する必要があります。提出物のスコアが検証するには遅すぎる場合、原則としてそのスコアが何であるかを知っていても、競争する資格がありません。 Lスコアの構成要素は、コードゴルフチャレンジの通常のルールに従って計算されます。提出物に複数のファイルが含まれる場合は、その場合のスコアリングとディレクトリ構造に関する規則に注意してください。コードで使用するデータはすべてLスコアに含める必要があります。 あなたは、既存のライブラリをインポートすることがありますが、他の外部ファイルをロードしないかもしれない、とあなたのコードがアクセスすることはできませんwhale.txtかをwhale2.txt上記以外の方法でファイルします。事前学習済みのニューラルネットワークやその他の統計データのソースをロードすることはできません。(ニューラルネットワークを使用しても構いませんが、提出物に体重データを含めて、バイトカウントにカウントする必要があります。)何らかの理由で、言語またはライブラリにMoby Dickのテキストの一部またはすべてを提供する機能が含まれている場合、その機能を使用することはできません。それ以外に、言語またはその標準ライブラリの一部である限り、テキスト処理、予測、または圧縮に関連する機能を含む、他の任意の組み込み機能またはライブラリ機能を使用できます。統計データのソースを含む、よりエキゾチックで特殊なルーチンの場合、それらを自分で実装し、バイトカウントに含める必要があります。 一部の提出物には、それ自体がコードによって生成されるコンポーネントが含まれる可能性があります。その場合は、それらを生成するために使用されたコードを回答に含めて、その仕組みを説明してください。(このコードが送信を実行するために必要でない限り、バイトカウントには含まれません。) 歴史的な理由から、ファイルには2つのバージョンがあり、いずれかを回答に使用できます。ではwhale2.txt改行は段落の最後にのみ表示されますので(上記のリンク)テキストは、ラップされていません。オリジナルでwhale.txtは、テキストは74文字の幅に折り返されているため、各行の終わりとテキストを予測する必要があります。これは挑戦をより厄介にしますのでwhale2.txt、新しい答えのために推奨されます。両方のファイルは同じサイズで、1215236バイトです。 要約すると、すべての回答には次の事項を含める必要があります。 あなたの提出自体。(コードと、それが使用するデータファイル-大きい場合、これらはリンクになります。) コードの仕組みの説明。I / Oメソッドと、次の文字を予測する方法を説明してください。あなたのアルゴリズムの説明は重要であり、良い説明は私から賞金を得るでしょう。 スコアの評価に使用したコード。(これが以前の回答と同じ場合は、リンクするだけです。) 提出物の生成に使用したコードとそのコードの説明。これには、パラメーターの最適化、データファイルの生成などに使用したコードが含まれます(これはバイトカウントにはカウントされませんが、回答に含める必要があります)。 リーダーボード コードスニペットを表示 var QUESTION_ID=152856,OVERRIDE_USER=21034;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 …

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