タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

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
「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
止まりますか?(警官)
これは警官のスレッドです。強盗のスレッドはこちらです。 あなたの課題は、特定の入力を取得しない限り1を停止せずに永久に実行するプログラムを作成することです2。その入力を受け取った場合、有限時間3で終了する必要があります。これはcode-golfであるため、投稿から1週間以内に強盗によって解読されなかった最短の回答が勝ちです。1週間が経過した後、回答を安全とマークし、停止中の入力を表示してください(a > ! spoiler quote)。強盗があなたの提出物をクラックした場合、クラックされたものとしてマークし、停止中の入力を表示してください(> ! spoiler quote)。 提出は、TIOで実行およびクラック可能にすることが推奨されます。TIOで実行またはクラックできないサブミッションは許可されますが、ダウンロード/実行の手順を含めてください。 入力を確定的で、すべての実行で統一してください。詳細については、このメタ投稿を参照してください。 「RSAを実装する」など、強盗には意味がありません。退屈な暗号化とハッシュではなく、あいまいな言語と機能を使用します。私はルールでこれを強制することはできませんが、あなたがすることがすべてである場合、あなたは集中的な降格を期待することができますsha(input) === "abcd1234"。 1コンピューターがシャットダウンしたり、壊れたり、太陽に飲み込まれたり、宇宙の熱死で過熱したり、60秒のTIOタイムアウトに達したりしないと仮定します。 2プログラムは少なくとも 1つの入力で停止する必要があります。ある入力で永久にループし、別の入力で停止する限り、機能します。 3これは60秒未満でなければならず、TIOでコードをテストできます。 クラックされていない提出物をお探しですか? fetch("https://api.stackexchange.com/2.2/questions/135363/answers?order=desc&sort=activity&site=codegolf&filter=!.Fjs-H6J36vlFcdkRGfButLhYEngU&key=kAc8QIHB*IqJDUFcjEF1KA((&pagesize=100").then(x=>x.json()).then(data=>{var res = data.items.filter(i=>!i.body_markdown.toLowerCase().includes("cracked")).map(x=>{const matched = /^ ?##? ?(?:(?:(?:\[|<a href ?= ?".*?">)([^\]]+)(?:\]|<\/a>)(?:[\(\[][a-z0-9/:\.]+[\]\)])?)|([^, ]+)).*[^\d](\d+) ?\[?(?:(?:byte|block|codel)s?)(?:\](?:\(.+\))?)? ?(?:\(?(?!no[nt][ -]competing)\)?)?/gim.exec(x.body_markdown);if(!matched){return;}return {link: x.link, lang: matched[1] || matched[2], owner: x.owner}}).filter(Boolean).forEach(ans=>{var tr = document.createElement("tr");var add = (lang, link)=>{var …

30
Thanosソートアルゴリズムを実装する
ソートアルゴリズムは次のようになります。 リストはソートされていませんが、すべてのアイテムの半分をスナップします(リストからそれらを削除します)。リストが並べ替えられるか、アイテムが1つだけ残るまで続行します(デフォルトで並べ替えられます)。このソートアルゴリズムは、実装に基づいて異なる結果をもたらす場合があります。 アイテムの削除手順は、決定する実装次第ですが、リストは、アイテムの削除手順の1回のパスの後、以前の半分の長さにする必要があります。アルゴリズムは、リストの長さが半分になるまで、または記載されていない場合、前半またはリスト、リストの後半、すべての奇数アイテム、すべて偶数アイテムを一度に1つずつ削除することを決定できます。 入力リストには、2 ^ n個のアイテムの完全に分割可能なリストだけでなく、任意の量のアイテム(理由として、最大1000個のアイテム)を含めることができます。リストが奇数の場合は、(n + 1)/ 2または(n-1)/ 2のいずれかのアイテムを削除する必要があります。ハードコーディングされているか、実行時にランダムに決定されます。自分で決めてください:宇宙に奇妙な量の生物が含まれていたら、サノスはどうするでしょうか? 前のアイテムよりも小さいアイテムがない場合、リストはソートされます。入力で重複が発生したり、出力で重複が発生したりする場合があります。 プログラムは、整数の配列(stdinを介して、または個々の項目または配列パラメーターとしてパラメーターとして)を受け取り、ソートされた配列を返す(またはstdoutに出力する)必要があります。 例: // A sorted list remains sorted [1, 2, 3, 4, 5] -> [1, 2, 3, 4, 5] // A list with duplicates may keep duplicates in the result [1, 2, 3, 4, 3] -> [1, 3, 3] …

14
私は受動的で攻撃的で、上司が気付かないうちに上司をin辱したい
仕事で数ヶ月大変だったので、ただ上司の顔に向かって叫びたくなりました。しかし、私は問題を抱えている人々に直接立ち向かう者ではありません。私も仕事を失いたくありません。 だからここにアイデアがあります:私は彼が決して見つけることなく、彼をin辱できるようにしたいです。そして、私は完璧な方法を実現しました。それ以外の場合は完全にすばらしいメッセージ内にin辱をエンコードする何らかのソフトウェアが必要です。そして、彼が木の森を見ないことが知られているように見て、私はちょうどその方法を知っていると思う: 入力として未知の長さの文字列を受け取るが、改行を含まないプログラムを書いてください。これは、送信したい生のメッセージになります。 可能であれば、メッセージ「DIE IN A GREASE FIRE」が左列全体を構成するようにフォーマットされた文字列を返します。単語の間にスペースを入れるべき新しい段落。今、私は非常に怒っているので、すべての文字が大文字であることも同様に重要です。 他の方法で文字列を変更することはできません。つまり、すべての文字列を大文字に変換することはできません。 問題の文字列をこの方法でフォーマットできない場合、元の文字列を返します。標準入力から入力を読み取ります。 通常のルールが適用されます:HTTP要求なし、THGTTGからのコンサルティングなしMarvinなど。 入力例: 親愛なるボス、物事はどうですか?先週の金曜日に事故のせいですべての責任を負ったことに気付いた。それだけではありません。それのすべての最後のビット。チームの他のメンバーが少なくとも部分的に責任を負っていると考えるのは間違っていますか?結局のところ、私たち6人全員が始めから関与していた。私が非難せずに立つべきだと思うわけではありません。どういたしまして。私が言っているのはこれだけです:私は最善を尽くします。がんばります 私は常に改善しています。そして私は常に責任を負っています。一般的に言えば、自分の行動に全責任を負うことは非常に大丈夫です。しかし、この春の後、私は私が値する以上のものを得るようです。Flakenhauserの契約を覚えていますか?すべてが期待通りにスムーズに落ちました。または、最初はそうでした。物事がバラバラになったのはまさに最後の瞬間でした。すべてのチームは、ずさんな計画やリソースの不適切な管理よりも、異常な事故に似ていることに同意しました。それでも、私は-それだけで-非難しました。そのとき私は何も言わなかったが、そのせいにするための私の寛容度は深刻なへこみをとった。その時点から、私は精査から逃れるために常に2倍の努力をする必要があると感じました。それでも、ここに再び来ました。すべての私の成果にもかかわらず。私たちがいつも最近終わるように見える場所。すべてのプロジェクト。それは耐えられなくなってきています。精査から逃れるためだけに。それでも、ここに再び来ました。私のすべての成果にもかかわらず。私たちがいつも最近終わるように見える場所。すべてのプロジェクト。それは耐えられなくなってきています。精査から逃れるためだけに。それでも、ここに再び来ました。私のすべての成果にもかかわらず。私たちがいつも最近終わるように見える場所。すべてのプロジェクト。それは耐えられなくなってきています。 出力例: 親愛なるボス、物事はどうですか? 先週の金曜日に事故のせいですべての責任を負ったことに気付いた。それだけではありません。 それのすべての最後のビット。 チームの他のメンバーが少なくとも部分的に責任を負っていると考えるのは間違っていますか?結局のところ、私たち6人全員が始めから関与していた。 私が非難せずに立つべきだと思うわけではありません。どういたしまして。 私が言っているのはこれだけです:私は最善を尽くします。がんばります 私は常に改善しています。そして私は常に責任を負っています。 一般的に言えば、自分の行動に全責任を負うことは非常に大丈夫です。しかし、この春の後、私は私が値する以上のものを得るようです。 Flakenhauser契約を覚えておいてください。 すべてが期待通りにスムーズに落ちました。または、最初はそうでした。物事がバラバラになったのはまさに最後の瞬間でした。 すべてのチームは、ずさんな計画やリソースの不適切な管理よりも、異常な事故に似ていることに同意しました。 それでも、私は-それだけで-非難しました。 その時は何も言わなかったが、そのせいにすることに対する私の寛容度はその時深刻なへこみをとった。 その時点から、私は精査から逃れるために、常に2倍の努力をする必要があると感じました。それでも、ここに再び来ました。 すべての私の成果にもかかわらず。 私たちがいつも最近終わるように見える場所。 すべてのプロジェクト。それは耐えられなくなってきています。 これはコードゴルフです。最短のコードが優先されます。
93 code-golf  string 

12
ロシアの暗号規格が構造化されすぎていることの証明
この課題の目的は、選択した言語で、次の関数の不可能なほど短い実装を見つけるpことです。これを実装するCコード(出力も印刷するこのTIOリンクを参照 )と、それを含むウィキペディアページがあります。 unsigned char pi[] = { 252,238,221,17,207,110,49,22,251,196,250,218,35,197,4,77, 233,119,240,219,147,46,153,186,23,54,241,187,20,205,95,193, 249,24,101,90,226,92,239,33,129,28,60,66,139,1,142,79, 5,132,2,174,227,106,143,160,6,11,237,152,127,212,211,31, 235,52,44,81,234,200,72,171,242,42,104,162,253,58,206,204, 181,112,14,86,8,12,118,18,191,114,19,71,156,183,93,135, 21,161,150,41,16,123,154,199,243,145,120,111,157,158,178,177, 50,117,25,61,255,53,138,126,109,84,198,128,195,189,13,87, 223,245,36,169,62,168,67,201,215,121,214,246,124,34,185,3, 224,15,236,222,122,148,176,188,220,232,40,80,78,51,10,74, 167,151,96,115,30,0,98,68,26,184,56,130,100,159,38,65, 173,69,70,146,39,94,85,47,140,163,165,125,105,213,149,59, 7,88,179,64,134,172,29,247,48,55,107,228,136,217,231,137, 225,27,131,73,76,63,248,254,141,83,170,144,202,216,133,97, 32,113,103,164,45,43,9,91,203,155,37,208,190,229,108,82, 89,166,116,210,230,244,180,192,209,102,175,194,57,75,99,182, }; unsigned char p(unsigned char x) { return pi[x]; } とは p pは、2つのロシアの暗号化標準、つまりハッシュ関数Streebogとブロック暗号Kuznyechikのコンポーネントです。で、この記事(およびISO会議中)、これらのアルゴリズムの設計者は、彼らが、配列を生成したと主張しpiたランダム8ビットの順列を選ぶことで。 「不可能」な実装 256 !≈ 21684256!≈21684256! \approx 2^{1684}あります!≈ 2 1684年 8ビットに置換。したがって、与えられたランダムな順列に対して、それを実装するプログラムは、1683ビット未満しか必要としないことが予想されます。 しかし、たとえば次のCプログラムのように、複数の異常に小さい実装(ここにリストされています)が見つかりました。 p(x){unsigned char*k="@`rFTDVbpPBvdtfR@\xacp?\xe2>4\xa6\xe9{z\xe3q5\xa7\xe8",l=0,b=17;while(--l&&x^1)x=2*x^x/128*285;return l%b?k[l%b]^k[b+l/b]^b:k[l/b]^188;} 158文字しか含まれていないため、1264ビットに収まります。ここをクリックして、動作することを確認してください。 …

30
この文字列は文字列として機能しますか?
文字のみを含むと想定できる1行の文字列を取るプログラムを作成します/\_‾。(これは下線と、前方と後方スラッシュだ上線。あなたが使用することができる~上線は便利ASCIIではないので、あなたが必要な場合は、上線の代わりに。) たとえば、1つの可能な入力は次のとおりです。 __/‾‾\/\_/‾ プログラムは、文字列の左端が文字列を介して文字列の右端に「接続」されているかどうかに応じて、真の値または偽の値を出力する必要があります。そのため、カーニングが少し小さければ、左端から右端まで、黒または黒の線(ねじれはありますが)が途切れることがありません。 上記の例の出力は、エッジが接続されているため真になります。 接続を明確にするには: / 左下と右上で接続します \ 左上と右下で接続します _ 左下と右下で接続します ‾(または~)左上と右上で接続します また: 弦の端が上から始まったのか下から始まったのかは問題ではなく、弦の長さ全体にわたって水平に接続されていることが重要です。 入力文字列は空ではなく、もちろん1行だけであると想定できます。 以下に、接続されている場合は1(真)、接続されていない場合は0(偽)が続くいくつかの例を示します。 __/‾‾\/\_/‾ 1 _ 1 \ 1 / 1 ‾ 1 ___ 1 \/ 1 /\/ 1 /\/\ 1 ‾‾‾ 1 \\ 0 ‾‾ 1 _‾ 0 ‾_ 0 \_____/ 1 \/\\/\\___ 0 \/\__/‾‾\ …

20
0xBEEFはどこにありますか?
この課題は、1984年のウェンディのコマーシャルに触発されました。 TSロジャースによるイラスト あなたの仕事は、バイナリバンで16進数の0xBEEFを見つけることです。 「牛肉」は次のパターンで構成されています。 1 0 1 1 (0xB) 1 1 1 0 (0xE) 1 1 1 0 (0xE) 1 1 1 1 (0xF) 「bun」は、次のような12x12バイナリマトリックスで構成されます。 1 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 …

27
コードは終了しますか?
これは、数学的な曲がりで考えたコードゴルフの挑戦です。課題は、可能な限り短いコードを記述して、コードが終了するかどうかが未解決の問題になるようにすることです。私が言いたいことの例は、アンサーからこの cs stackexchangeの質問に適応した次のPythonコードです。 def is_perfect(n): return sum(i for i in range(1, n) if n % i == 0) == n n = 3 while not is_perfect(n): n = n + 2 数学者は、奇数の完全な数は存在しないと推測していますが、証明されたことがないため、このコードが終了するかどうかは誰にもわかりません。短いが、終了するかどうか不明なコードの他の部分(おそらくCollat​​z予想や双子素数予想などの他の未解決の問題に依存している)を思い付くことができますか? 編集:一部の人々は良い追加のルールを持ち出しました-質問に対する解決策は決定論的でなければなりません。非決定性を使用してより短いソリューションを見つけることができればさらに興味深いかもしれませんが。この場合、ルールは、終了の確率が不明なスニペットを見つけることです。
92 code-golf  math 

30
灰色の50の色合い
銀色のスクリーンに灰色の50の色合いが表示されるのを見て、男の子と女の子は興奮しています。わずらわずにコーディングしたいので、ここで脳を選ぶのが挑戦です。 必ず: それぞれが異なるグレーの陰影で満たされた50個の正方形を画面に印刷します 選択した言語に画像処理機能がない場合、画像ファイルを出力できます 少なくとも20 x 20ピクセルの正方形が表示されている必要があります 各シェードが一意であることを確認しない限り、乱数を使用できません。 ネットワーク経由でサービスに接続することはできません プログラム内のファイルを読み取ることはできません。 選択した言語の標準ライブラリ以外のライブラリを使用することはできません。 これはコードゴルフなので、最短のコードが勝ちます。

30
すべての言語のマンデルブロ画像
私はいつも、手に入れたグラフィカルアプリケーションで、Hello Worldの「グラフィカル」バージョンとしてマンデルブロ画像を使用していました。今度はあなたの仲間の番です。 言語は、グラフィカル出力またはグラフの描画が可能でなければなりません(ファイルの保存は許可されません) 正方形の画像またはグラフをレンダリングします。サイズは少なくとも128、最大で640です* フラクタル座標の範囲は約-2-2iから2 + 2iです。 マンデルブロ集合の外側のピクセルは、大きさが2を超える前の反復回数に応じて色付けする必要があります(*白黒を除く) 各反復カウントには一意の色*が必要であり、隣接する色は目で簡単に区別できることが望ましい 他のピクセル(おそらくMandelbrotセット内)は、黒または白に色付けする必要があります 少なくとも99回の繰り返し ASCIIアートは許可されていません *プラットフォームによって制限されない限り、例えばグラフィック電卓 許可: 禁止:( 縮小画像) 勝利条件: この投稿では、各言語の最短バージョン(バイト単位のサイズ)がサイズ順に並べられています。 ボタンで「受け入れられる」回答はありません。 リーダーボード: コードスニペットを表示 /* Configuration */ var QUESTION_ID = 23423; // Obtain this from the url // It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER …

14
星の色
最初の行の形式が文字列またはテキストファイルであるプログラムを作成する width height 後続の各行の形式は x y intensity red green blue どこ: widthまた、height任意の正の整数を指定できます。 xまた、y任意の整数を指定できます。 intensity 負でない整数を指定できます。 red、green、およびblue0から255までの任意の整数であります。 あなたのプログラムを出力しなければならないトゥルーカラー寸法は任意の一般的なロスレス画像ファイル形式の画像widthによりますheight。各線x y intensity red green blueは、画像上に描画する必要があるカラフルな星または球を表します。0を含む、描画する星の数はいくつでもかまいません。文字列またはファイルの末尾に改行があると仮定できます。 画像を描画するアルゴリズムは次のとおりですが、結果が同じである限り、好きな方法で実装できます。 画像のすべてのピクセル(X、Y)(Xは左端が0 、右端がwidth-1、Yは上端が0 、下端がheight-1)に対して、カラーチャネルC ϵ { red、 green、blue }(0から255の間に固定された値)は、次の方程式で与えられます。 どこのdist関数はどちらかであるユークリッド距離: またはマンハッタン距離: ゴルフ可能性または美観に基づいて、好みの距離関数を選択します。 入力の最初の行以外の各行は、スターセットの要素です。だから、例えば、SのXが表すx入力ラインのいずれかに値を、及びS Cは、いずれかを表しred、greenまたはblue、これに応じて、カラーチャネルは、現在計算されています。 例 例A 入力が 400 150 -10 30 100 255 128 0 出力は ユークリッド距離を使用している場合 マンハッタン距離を使用している場合。 …

30
アダム・ウェストを称えて
Adam Westは亡くなりました。PPCGに関する彼の記憶に敬意を表したいと思いますが、彼が私たちの存在を知っているかどうかは疑っています。この男は多くのさまざまなことで知られていますが、元のバットマンとしての彼の役割ほど目立つものはありません。私は継父が今でも昔のバットマンとロビンを見続けていることをいつも覚えています。この挑戦は本質的に単純化されており、アダム・ウェストであった複雑な人とはまったく一致していません。しかし、これは男性のキャリアの最も象徴的なイメージであるため、私が考え出すことができる最高のものです。 これを以前に投稿したかったのですが、誰かがもっと良いものを思い付くのを待っていました。 以下を出力します(末尾のスペース/改行の有無にかかわらず): * * **** * * **** **** ******* **** ****** ******* ****** ********* ********* ********* *********************************************** ************************************************* ************************************************* ************************************************* *********************************************** ***** ********************* ***** **** *** ***** *** **** ** * *** * ** これはcode-golfで、最小のバイト数が勝ちます。

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