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

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

30
いいえ、ただCaps Lock
CapsLockキーボードのキーにノッチがない場合はどうなりますか? 「このhPPENS。」 このプログラムの目標は、各Aプレスがに置き換えられるキーボードミスを一貫してエミュレートすることCapsLockです。ソースの大文字の「A」でも同じ効果が得られます。ときにCapsLock有効になり、総額が逆転しています。 テストケース "The quick brown fox jumps over the lazy dog." -> "The quick brown fox jumps over the lZY DOG." "Compilation finished successfully." -> "CompilTION FINISHED SUCCESSFULLY." "What happens when the CapsLock key on your keyboard doesn't have a notch in it?" -> "WhT Hppens when the …

30
この数は素数ですか?
信じられないかもしれませんが、単純な素数性テストのためのコードゴルフチャレンジはまだありません。特に「通常の」言語の場合、これは最も興味深い課題ではないかもしれませんが、多くの言語では自明ではありません。 Rosettaコードは、素性テストに対する慣用的なアプローチの言語ごとのリストを特徴としており、1つはMiller-Rabinテストを具体的に使用し、もう1つは試験部門を使用しています。ただし、「最も慣用的」は「最短」と一致しないことがよくあります。プログラミングパズルとコードゴルフをコードゴルフの人気サイトにするために、この課題では、「Hello、World!」と同様に、すべての言語での最短アプローチのカタログを作成しようとしています。そして、あなたのために素晴らしい馬をゴルフしましょう!。 さらに、素数性テストを実装する機能はプログラミング言語の定義の一部であるため、この課題は実証済みのプログラミング言語のディレクトリとしても機能します。 仕事 入力として厳密に正の整数nが与えられると、nが素数であるかどうかを判断し、それに応じて真実または偽の値を出力する完全なプログラムを作成します。 この課題のために、厳密に正の約数が2つだけある整数は素数です。これは、唯一の厳密に正の除数である1を除外することに注意してください。 アルゴリズムは決定論的である必要があり(つまり、確率1で正しい出力を生成する)、理論上、任意の大きな整数に対して機能する必要があります。実際には、プログラムが1〜255の整数で機能する限り、入力をデータ型に格納できると想定できます。 入力 言語がSTDINからの読み取り、コマンドライン引数またはユーザー入力の他の代替形式の受け入れが可能な場合、整数をその10進表現、単項表現(選択した文字を使用)、バイト配列(大きなまたはリトルエンディアン)またはシングルバイト(これがあなたの言語の最大のデータ型である場合)。 あなたの言語がどんな種類のユーザー入力も受け入れられない場合(そしてその場合のみ)、プログラムで入力をハードコードすることができます。 この場合、ハードコードされた整数は簡単に交換可能でなければなりません。特に、プログラム全体の1か所にしか表示されない場合があります。 スコアリングの目的で、入力1に対応するプログラムを送信します。 出力 出力はSTDOUTまたは最も近い代替に書き込まれる必要があります。 可能であれば、出力は真偽値または偽の値(またはその文字列表現)のみで構成され、必要に応じて単一の改行が続きます。 この規則の唯一の例外は、挨拶、ANSIカラーコード、インデントなど、抑制できない言語のインタープリターの一定の出力です。 追加のルール これは、プライムテストの最短アプローチで言語を見つけることではなく、すべての言語で最短アプローチを見つけることです。したがって、回答は承認済みとしてマークされません。 ほとんどの言語での提出物は、適切な既存のエンコーディングでバイト単位でスコアリングされます。通常は(必ずしもそうではありませんが)UTF-8です。 たとえば、言語Pietはコーデルでスコアリングされますが、これはこの言語の自然な選択です。 Foldersのような一部の言語は、スコア付けが少し難しいです。疑問がある場合は、Metaで質問してください。 通常のルールとは異なり、このチャレンジよりも新しい言語(または言語バージョン)を自由に使用できます。空のプログラムが素数性テストを実行する言語を作成することでこれを悪用したい場合は、非常に退屈な答えへの道を開くことを祝福します。 提出物をテストできるように、通訳が必要であることに注意してください。以前に実装されていない言語用にこのインタープリターを自分で作成することは許可されています(さらには推奨されています)。 選択した言語が、すでに回答を持っている別の(潜在的により人気のある)言語の些細なバリアントである場合(BASICまたはSQL方言、Unixシェル、またはHeadsecksやUnaryのような些細なBrainfuck派生語を考えてください)、既存の回答にメモを追加することを検討してください同じまたは非常に類似したソリューションは、他の言語でも最短です。 素数性をテストするための組み込み関数が許可されています。この課題は、各言語で可能な限り最短のソリューションをカタログ化することを目的としているため、言語の組み込みを使用する方が短い場合は、それを選択してください。 それらが以前に無効にされていない限り、http://meta.codegolf.stackexchange.com/q/1061を含む、すべての標準コードゴルフ規則が適用されます。 補足として、ゴルフにそれほど価値のない言語では、退屈な(しかし有効な)答えに投票しないでください。これらは、カタログを可能な限り完全にコンパイルしようとするので、この質問には依然として有用です。ただし、主に作成者がコードのゴルフに力を入れなければならない言語では、主に回答を支持してください。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) …

30
言語を使用不可にする
あなたの言語でコードを書き、プログラミング言語であるという基準をもはや満たさないようにしてください。 言語は、次の場合にプログラミング言語であるという基準(この課題の簡略版)を満たします。 何らかの方法で正の整数のタプルを表すユーザー入力を読み取ることができます。 入力に応じて、少なくとも2つの異なる結果を出力できます。 2つの正の整数を取り、それらを追加できます(結果は出力に影響する可能性があります)。 正の整数を取り、それが素数であるかどうかを判断できます(結果は出力に影響する可能性があります)。 このチャレンジの目的上、通常のチャレンジで許可されている出力方法ではない出力は無視されます。そのため、プログラムで音楽を再生したり、HTTP経由で投稿したりできるかどうかは関係ありません。 更新:許可された出力方法の1つまたはいくつかを選択し、他のすべてを無視することもできます。ただし、次の基準ではどこでも同じ定義を使用する必要があります。また、プログラムで複数の出力メソッドを無効にできる場合は、さらに価値があります。 出力できないようにする、またはすべてのループ構造を無効にして素数テストを実行できないようにし、ユーザーがそれらを再度有効にできないようにするなどの例。 新しいコードを挿入する場所を残す必要があります。デフォルトでは、コードの最後にあります。回答のソースコードをその場所に配置し、完全なコードを新しい言語のインタープリターとして完全なプログラムとして実行することを検討する場合、その言語は基準を満たさないはずです。 ただし、挿入されたコードは、基準を満たす言語のような方法で実行する必要があります。 挿入されたコードは、構文ハイライターを作成したい人の観点から、一般的に基準を満たしているもの(たとえば、次の基準のコードブロック)と文法的に同じでなければなりません。そのため、文字列、コメントなどに含めることはできません。 挿入されたコードは、基準を満たすように実際に実行する必要があります。したがって、未使用の関数やsizeofCに含めることはできません。コード内の非機能部分のみを実行することはできません。また、無限ループなどに配置することもできません。 この方法で生成される文法的に正しいプログラムの数を制限することはできません。使用している言語に既に長さ制限のようなものがある場合、この制限が削除されても、基準を満たさないはずです。 入力/出力の内容を変更または「使い切る」ことはできませんが、アクセスを防ぐことができます。 これらの基準は通常、明示的なI / Oのない言語にのみ適用されます。 コードブロックは通常、使用している言語で直接/明示的にユーザー入力を取得できない場合、ユーザー入力(任意の長さの情報を含む)を挿入されたコードにリダイレクトする必要があります。 コードは通常、使用している言語で直接/明示的に物を出力できない場合、挿入されたコードの戻り値を出力する必要があります。 返された値を印刷し、使用している言語で入力された場合、返された型は実際に可能な2つの異なる値を持つことができるはずです。たとえば、タイプstruct {}またはstruct {private:int x;}C ++では使用できません。 これは人気コンテストです。最も高い投票された有効な回答(だから誰もエラーを見つけなかったか、すべてのエラーが修正された)が勝ちです。 明確化 テキスト形式のコードは変更しないでくださいが、コードが解釈またはコンパイルされる前に構文を変更できます。 コードの実行中に他のことを行うことができます。しかし、それが基準を満たさない理由は、挿入されたコード自体の中にあるべきです。別のスレッドの干渉が原因でエラーになる可能性がありますが、別のスレッドに殺されるだけではありません。 すべての仕様は基本的に、すべての組み込みが変更されていないが実際に変更されていない場合、文法的に基準を満たす可能性が高いことを意味します。パラメータをコードブロックに正しく渡すなど、文法的ではない回避策を見つけても、何らかの方法で使用できないようにするのは問題ありません。 繰り返しますが、挿入されたコードは実際に実行する必要があります。無限ループまたはクラッシュ後のコードは「実際には実行されていない」と見なされるため、有効ではありません。これらの回答は興味深いかもしれませんが、このサイトにはすでに他の無限ループまたはクラッシュする質問がいくつかあり、回答するのにより適切なものを見つけることができます。そうでない場合は、新しい質問をすることを検討してください。それらの質問の例は次のとおりです。 出力を生成しない最短無限ループ なぜ終わらないのですか? 「ループ」なしのループ 課題:終了するコードを書く とんでもないランタイムエラー お気に入りのコンパイラをクラッシュさせる リーダーボード var QUESTION_ID=61115/*,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()*/(more_answers?getAnswers():process())}})}/*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 …

30
プログラミング言語のクイズ
警察と強盗の両方の挑戦に勝ったデニス、おめでとうございます!カルビンの趣味はすでに彼の約束を果たしており、強盗の挑戦に勝ったためにデニスのためにこの挑戦を書きました。 注意: 2015-09-01 02:00:00 UTCの時点で、このチャレンジはさらなる警官の回答のために終了します。投稿された新しい回答は勝つ資格がなく、クラックされた場合、強盗のスコアにはカウントされません。ただし、他のユーザーの楽しみのために新しい回答を投稿することもできます。そのため、将来の訪問者が利用できるパズルがいくつかあります。これらの新しい回答は、リーダーボードの「脆弱な警官」セクションに含まれ、それらの非競合ステータスは個別にマークされます。 The Hello World Quizの警察官強盗版へようこそ!(クイズを一度もプレイしたことがない場合は、1分間または30分間試してみてください。このチャレンジのためにクイズをする必要はありません。 警官の挑戦 プログラミング言語を選択します。有効な言語には、このチャレンジが投稿された時点で、英語版のウィキペディアの記事、エソランの記事、またはロゼッタコードの記事が必要です(リンクリストは手動でキュレーションされるため、必ずしも完全ではないことに注意してください)。また、プログラミング言語の通常の基準を満たしている必要があります。そのため、HQ9 +のようなものはリリースされていません。最後に、(このチャレンジが投稿された時点で)その言語で利用可能な無料の(ビールのように)インタープリターまたはコンパイラーが必要です。 Hello Worldプログラムを作成します。つまり、選択した言語で完全にプログラムを記述しHello, World!(正確にそのように、つまりこの正確なバイトストリーム)、オプションでSTDOUTまたは最も近い代替の単一の末尾の改行を出力します。 REPL環境、既存のボイラープレートコード、または非標準のコンパイラ/インタープリターフラグを想定しないでください。プログラムは1つ以上のソースファイル(フォルダーなどの風変わりな言語を除外するため)の形式である必要があり、完全に回答に収まる必要があります(したがって、30,000文字を超えてはなりません)-これは問題ではありません深刻な提出。 コードに印刷可能なASCII範囲外のバイトが含まれている場合、pastebinまたは16進ダンプを含めて、コードが実際にテスト可能であることを確認してください。 プログラムは、典型的なデスクトップPCで1分以内に終了する必要があります。 それでおしまい。キャッチは、どの言語を選択したかがわからないようにコードを難読化することです。また、コードを誤って他の言語の有効なHello Worldプログラムにしたくないことにも注意してください。ただし、十分に難読化されたプログラムではそうなることはないでしょう。 どのような状況でも、投稿された投稿のソースコードを編集してはなりません(これにより、強盗が解答を解読しようとする積極的な試みが無効になる可能性があるため)投稿する前に、できる限りゴルフをする(またはあえて)ことを確認してください。回答を投稿した後に機能しないことがわかった場合は、回答を削除し、必要に応じて修正バージョンを投稿してください。 誰もあなたのコードは7日間で有効な言語が見つからない場合、あなたはあなたの答えが作るだろう、(理想的にあなたの難読化コードの説明を)選択した言語を明らかにすることができる安全な。言語を公開するまで、提出物は引き続きクラックされる可能性があることに注意してください。 最短の安全な送信(バイト単位)が優先されます。 書式設定 (今すぐ警官として参加する予定がない場合は、このセクションをスキップして強盗の挑戦を読んでください。) この投稿の下部には、リーダーボードを生成するスタックスニペットと、まだ解読可能な提出物のリストがあります。スニペットを機能させるには、回答に特定のヘッダーを含めることが重要です。 新しい回答には次のようなヘッダーを含める必要があります # ???, [N] bytes ここ[N]で、コードのサイズはバイト単位で、???文字通り表示されるはずです。 回答が7日間クラックされず、言語を公開して回答を安全にしたい場合は、単にを置き換えます???。 # Ruby, [N] bytes 言語名は、esolangsページやGitHubリポジトリなどの関連Webサイトにリンクしてください。リンクがリーダーボードに表示されます。 別のユーザーが提出物を正常にクラックした場合(下記を参照)、次のような通知とともに言語も追加してください # Ruby, [N] bytes, cracked by [user] ここで[user]、最初の有効なクラックを送信したユーザーの名前です。クラックで使用されている言語が意図したものと異なる場合は、強盗の推測を使用し、回答でそれが別のものであると意図したことを言及することをお勧めします。ユーザー名をプロフィールページへのリンクにしてください。 強盗の挑戦 脆弱な答えを見つけます。それは答えであり、まだ解読されておらず、まだ安全ではありません。 その言語を理解することによってそれをクラックします。つまり、見つけている任意の与えられたプログラムが有効なのHello …

30
トロールのトローリング[終了]
トロルがあなたを捕らえ、あなたにマルウェア(それを実行するコンピューターに損害を与えるプログラムとして定義される)を書くことを強制しています。トロールはコードを読み取って理解できますが、バグを見つけるのはあまり得意ではありません。 あなたの目標は、次のようなプログラムを書くことです。 マルウェアのように見えます。つまり、コードを読んでいる初心者プログラマーは、コードがそれを実行しているコンピューターに損傷を与えると確信します。 実際にはまったくダメージを与えません。 注:トロールはコードのみを読み取り、コメントは読み取りません。したがって、コード自体は明確で説得力のあるものでなければなりません。 例(bash): rm - rf /home この例は次のようになります rm -rf /home、システムからすべてのホームフォルダーを削除するにますが、実際には、rfの前のスペースのために、これは機能せず、無害なエラーメッセージのみを引き起こします。 これは許容できる解決策ですが、バグの検出は非常に簡単なので、あまり良くありません。 一方、複雑で読みにくいプログラムも、マルウェアのようには見えないため、あまり良い解決策にはなりません。 優れたソリューションは、読者にマルウェアであると納得させるほど読みやすいものである必要がありますが、検出するのが難しく、無害にするバグが含まれています。 これは人気コンテストなので、最も賛成票の多いコードが勝ちます。

30
私はあなたが探している言語ではありません!
コードを見つけて、それがどの言語で書かれているのかわからないのは面倒ではありませんか?この課題は、これを幾分解決しようとします。 チャレンジ 2つの異なる言語で実行すると、文字列を出力するプログラムを作成する必要があります。 This program wasn't written in <language program compiled/interpreted in>, it was built for <other language the program can be run in>! 出力では、言語名に正式な大文字を使用する必要があります。例:CJam、C ++ どちらのプログラムもユーザーからの入力を受け付けません。 両方の言語で実行する場合、出力はstdoutまたは同等のものである必要があります。 どちらのプログラムでもstderrへの出力はありません。 コメントはどちらの言語でも使用できます。 同じ言語の2つの異なるバージョンは、異なる言語としてカウントされます。 これを行うと、プログラムはメジャーバージョン番号を出力し、2つの異なるマイナーバージョンで実行している場合は、マイナーバージョンも報告する必要があります。 ビルド済みのバージョン関数を使用しないでください(これには、実行時にすでに評価された変数が含まれます)。 出力例: PerlおよびRuby: Perl: This program wasn't written in Perl, it was built for Ruby! ルビー: This program …

30
それ自体よりも短い(文字数で)プログラムで印刷できる最小の正の10進整数は何ですか?
上記の質問は明確だと思いますが、念のため: 正の10進整数を印刷する完全なプログラム(関数だけでなく)を作成し、オプションで単一の改行を続けます。 適格なプログラムは、出力がバイト単位で測定されるプログラムのソースコードよりも長い(バイト単位で)プログラムです(プログラムソースコードのASCIIまたはUTF-8エンコーディングを想定)。 つまり、コードは結果の数値の桁数よりも短くなければなりません。 先行ゼロは、すべての状況下で許可されていません。先行ゼロをカウントすると、問題がトリビアライズされます。先行ゼロを無視すると、質問が不必要に複雑になります。 勝者プログラムは、最小の大きさで整数を出力する資格プログラムです。 リーダーボードスニペット コードスニペットを表示 var QUESTION_ID = 67921; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER; } function …

27
雪だるまをコーディングしますか?
これは簡単なASCIIアート雪だるまです: _===_ (.,.) ( : ) ( : ) 彼に友達を作りましょう。これは、ASCIIアートsnowpeopleの一般的なパターンです。 HHHHH HHHHH X(LNR)Y X(TTT)Y (BBB) 先頭のスペースと括弧は、すべての雪だるまで常に同じです。異なる文字は、個別に変更できるパターンのセクションを表します。各セクションには、ASCII文字で埋めることができる正確な4つのプリセットがあります。8つのセクションすべてでこれらのプリセットを組み合わせて一致させることで、さまざまな雪の人を作ることができます。 すべてのプリセット (スペースが他の空の行に置かれているため、セクションの形状は常に正しいことに注意してください。) Hは帽子 麦わら帽子 _===_ メキシカンハット ___ ..... フェズ _ /_\ ロシアの帽子 ___ (_*_) Nは鼻/口用 普通 , ドット . ライン _ 無し Lは左目用 ドット . 大きいドット o 最大のドット O 閉まっている - Rは右目用 (左目と同じリスト。) Xは左腕用 …

30
数学は事実です。プログラミングは
数学では、感嘆符は!しばしば階乗を意味し、議論の後に来ます。 プログラミングでは、感嘆符は!しばしば否定を意味し、それは議論の前に来ます。 この課題では、これらの操作をゼロと1にのみ適用します。 Factorial 0! = 1 1! = 1 Negation !0 = 1 !1 = 0 ゼロ個以上の文字列を取る!「が続いS、0または1ゼロ個以上続く、!S」を(/!*[01]!*/)。 たとえば、入力は!!!0!!!!or !!!1または!0!!or 0!または1です。 or !の前の' は否定で、'の後は階乗です。01! 階乗は否定よりも優先順位が高いため、階乗が常に最初に適用されます。 例えば、!!!0!!!!真の意味!!!(0!!!!)、あるいはいっそ!(!(!((((0!)!)!)!)))。 すべての階乗と否定の結果のアプリケーションを出力します。出力は常に0またはになり1ます。 テストケース 0 -> 0 1 -> 1 0! -> 1 1! -> 1 !0 -> 1 !1 -> 0 !0! -> 0 !1! …

8
ボロノイマップとして画像を描く
私のチャレンジのアイデアを正しい方向に向けてくれたCalvin's Hobbiesに感謝します。 プレーン内のポイントのセットを考えてみましょう。これをsitesと呼び、各サイトに色を関連付けます。これで、各ポイントを最も近いサイトの色で着色することで、平面全体をペイントできます。これは、ボロノイマップ(またはボロノイ図)と呼ばれます。原則として、ボロノイマップは任意の距離メトリックに対して定義できますが、通常のユークリッド距離を使用しますr = √(x² + y²)。(注:これらのいずれかを計算してレンダリングする方法を知っていなくても、このチャレンジに参加できます。) 100サイトの例を次に示します。 セルを見ると、そのセル内のすべてのポイントは、他のサイトよりも対応するサイトに近くなっています。 あなたの仕事は、与えられた画像をそのようなボロノイマップで近似することです。便利なラスターグラフィックス形式の画像と整数Nが与えられます。次に、最大N個のサイトと各サイトの色を作成し、これらのサイトに基づいたボロノイマップができるだけ入力画像に似るようにします。 このチャレンジの下部にあるStack Snippetを使用して、出力からボロノイマップをレンダリングするか、必要に応じて自分でレンダリングすることができます。 あなたは可能(必要であれば)サイトの集合からボロノイマップを計算するために、内蔵またはサードパーティの機能を使用しています。 これは人気のあるコンテストなので、正味の投票数が最も多い回答が勝ちます。投票者は次の方法で回答を判断することが推奨されます 元の画像とその色がどの程度近似されているか。 アルゴリズムがさまざまな種類の画像でどれだけうまく機能するか。 アルゴリズムが小さいNに対してどれだけうまく機能するか。 アルゴリズムが、より詳細を必要とする画像の領域内のポイントを適応的にクラスタリングするかどうか。 テスト画像 アルゴリズムをテストするためのいくつかの画像を次に示します(通常の容疑者の一部、新しいもの)。大きなバージョンの画像をクリックします。 最初の列のビーチはオリビア・ベルによって描かれ、彼女の許可を得て含まれています。 さらにチャレンジしたい場合は、白い背景でヨッシーを試し、腹のラインを正しくします。 これらのテスト画像はすべて、このimgurギャラリーで見つけることができます。すべてのzipファイルとしてダウンロードできます。アルバムには、別のテストとしてランダムなボロノイ図も含まれています。参考までに、生成したデータを以下に示します。 さまざまな異なる画像とNの例図(100、300、1000、3000など)を含めてください(同様に、対応するセル仕様の一部へのペーストビン)。セル間の黒いエッジを適切に使用または省略できます(これは、他の画像よりも一部の画像の方が見やすい場合があります)。ただし、サイトを含めないでください(もちろん、サイトの配置がどのように機能するかを説明したい場合は別の例を除きます)。 多数の結果を表示する場合は、imgur.comでギャラリーを作成して、回答のサイズを適切に保つことができます。別の方法として、投稿にサムネイルを配置し、参照回答で行ったように、より大きな画像へのリンクを作成します。simgur.comリンクのファイル名に追加することにより、小さなサムネイルを取得できます(例I3XrT.png-> I3XrTs.png)。また、何か良いものが見つかった場合は、他のテストイメージを自由に使用してください。 レンダラー 出力を次のスタックスニペットに貼り付けて、結果をレンダリングします。正確なリスト形式は、各セルが順番x y r g bに5つの浮動小数点数で指定されている限り無関係です。ここでxおよびyはセルのサイトの座標でありr g b、範囲内の赤、緑、青の色チャンネルです0 ≤ r, g, b ≤ 1。 このスニペットには、セルの端の線幅、およびセルサイトを表示するかどうかを指定するオプションがあります(後者は主にデバッグ目的で使用されます)。ただし、セルの仕様が変更された場合にのみ出力が再レンダリングされることに注意してください。他のオプションを変更する場合は、セルまたは何かにスペースを追加してください。 コードスニペットを表示 function draw() { document.getElementById("output").innerHTML = svg } function …

30
お気に入りの言語で別の言語でプログラムを書く[終了]
本物のプログラマーは、Fortranプログラムを任意の言語で作成できます。 本物のプログラマからのパスカルを使用しないでください あなたの仕事は、選択したプログラミング言語でプログラムを書くことですが、別の言語のみを使用することが許可されています。つまり、1つの言語のすべてのコーディング規則を破棄し、それらを他の言語のコーディング規則に置き換えます。より良い。プログラムを別の言語で書かれているように見せます。 たとえば、Javaを嫌うPythonファンは、Javaで次のPythonプログラムを作成できます。 void my_function() { int i = 9 ; while(i>0) { System.out.println("Hello!") ; i = i - 1 ;}} Cを使用せざるを得ないパスカル愛好家は、次のように書くことができます。 #define begin { #define end } #define then #define writeln(str) puts(str) if (i == 10) then begin writeln("I hate C"); end 完全なプログラムを作成する必要があります。プログラムは有用なことをする必要はありません。 幸運を。これは人気コンテストなので、投票数が最も多いコードが勝ちます!

30
年間を通じてプログラミング言語
この課題では、ユーザーは、プログラミング言語で3つのかなり単純なコーディングタスクを順番に完了します。 最初の回答では、2015年に作成されたプログラミング言語を使用する必要があります。2015年の言語から少なくとも1つの回答があれば、2014年に作成されたプログラミング言語を使用できます。少なくとも1つの2014年の回答があるまで。 一般に、Y + 1年の言語を使用した回答が提出されるまで、Y年のプログラミング言語の使用は許可されません。唯一の例外はY = 2015です。 あなたの言語の年を見つける この質問に答えるには、プログラミング言語が「作られた」年を知る必要があります。もちろん、これは主観的な用語です。一部の言語は複数年にわたって開発され、多くの言語が毎年アップグレードされています。言語が「作られた」年を、その言語の実装が一般に公開された最初の年としましょう。 たとえば、Pythonは1991年に「作成」されましたが、その開発は1989年から進行中で、バージョン1.0は1994年までリリースされていませんでした。 今年がまだ主観的な場合は、常識を使用して最も適切な年を選択してください。年の選択についてわずかな意見の相違で動揺しないでください。言語がいつ作成されたかを示すソースへのリンクを提供してください。 プログラミング言語の異なるバージョンまたは標準(Python 1、2、3など)は、同じ初年度の同じ言語としてカウントされます。 したがって、言語の年が2015年でない限り、言語の年があなたの直前の年である回答が送信された後にのみ、回答を送信できます。 あなたと同じ年の有効な回答が既に存在する場合は、回答できます。あなたの言語がその年の早い時期に開発されたか、遅い時期に開発されたかは関係ありません。 タスク タスク1〜3を完了する必要があります。タスク0はオプションです。 これらのタスクは、出力の提供(タスク1)、ループ(タスク2)、および再帰(タスク3)の3つの重要な側面に対応するために選択されました。 タスク0-言語履歴(オプション) 選択したプログラミング言語の歴史を説明する段落を少なくとも1つ書いてください:誰がそれを開発したのか、なぜ、どのように、など。言語があなたやあなたの仕事、またはそのようなものに与えた影響についての個人的な逸話をお気軽に伝えてください。 あなたが若すぎて多くの研究をせずにあなたの言語の歴史について多くを知ることができない場合、あなたの投稿を編集し、いくつかの直接の履歴を追加できると言うメモを高齢ユーザーに残すことを検討してください。 タスク1-「こんにちは、世界!」バリアント 印刷するプログラムを書く [language name] was made in [year made]! ご使用の言語の標準出力領域(最新の言語の場合は標準出力)。 たとえば、言語がPythonの場合、出力は次のようになります。 Python was made in 1991! タスク2-アスキーアートN ユーザーが奇数の正の整数を入力できるプログラムを作成し(入力は常に有効であると想定できます)、文字を使用して作成されたASCIIアート文字Nを出力しNます。 入力が1の場合、出力は次のとおりです。 N 入力が3の場合、出力は次のとおりです。 N N NNN N N 入力が5の場合、出力は次のとおりです。 N N …

30
Stroustrupの神話「C ++は大規模で複雑なプログラム専用」を暴く
Stroustrupは最近、C ++に関する人気の神話を暴く一連の投稿を投稿しました。5番目の神話は、「C ++は大規模で複雑なプログラム専用です」です。それを暴くために、彼はWebページをダウンロードし、そこからリンクを抽出する簡単なC ++プログラムを書きました。ここにあります: #include <string> #include <set> #include <iostream> #include <sstream> #include <regex> #include <boost/asio.hpp> using namespace std; set<string> get_strings(istream& is, regex pat) { set<string> res; smatch m; for (string s; getline(is, s);) // read a line if (regex_search(s, m, pat)) res.insert(m[0]); // save match in set return res; …

30
トリックオアトリートポリグロット
ハロウィーンが近づいているので、私は楽しい小さなコードのゴルフチャレンジを始めるかもしれないと思いました! 課題は非常に簡単です。trickまたはを出力するプログラムを作成する必要がありtreatます。 「ひねり?」あなたが尋ねることができます。よく説明させてください: あなたのプログラムは次のことをしなければなりません: 2つの異なる言語でコンパイル/実行可能。同じ言語の異なるバージョンはカウントされません。 1つの言語でプログラムを実行するtrickと、出力され、もう1つの言語で出力されますtreat。大文字と小文字は区別されず、文字列に空白文字を埋め込むことは許可されています(例を参照)。 これはcode-golfであるため、バイト数が最も少ないソリューションが優先されます。 いくつかの説明: 有効な出力(2つの言語でコードを実行するためではなく、出力の開始または終了を示す引用符を追加します。これらをソリューションに含めないでください!): "trick" "Treat" " TReAt" " tRICk " 無効な出力: "tri ck" "tr eat" "trck" 私はあなたが思い付くことができるものを見て興味があります!ハッピーゴルフ! これが私の最初の挑戦であることに注意したいので、この質問に関する提案があればコメントの形で残してください。 リーダーボード これは、通常のリーダーボードと言語ごとの勝者の概要の両方を生成するスタックスニペットです。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 # Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: # Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 # Perl, 43 + 2 (-p flag) = 45 bytes …

30
「グーグル」をグーグルしないでください
「グーグル」という言葉をグーグルで検索すると、インターネットが切断されることは周知の事実です。 あなたの仕事は、1つの文字列を受け入れ、その長さを可能な限り少ないUnicode文字で返す関数を作成することです。 ただし、指定された文字列がgoogle(小文字)の場合、エラーが発生します。 たとえば、g('bing')返されます4が、g('google')エラーが発生します。 使用例と、可能であればエラーを提供してください。
158 code-golf  string 

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