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

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

13
2つの文字の間の文字
単一の小文字の単語を入力として受け入れ、単語内でアルファベットと同じ文字数の文字のペアの数を出力するプログラムを作成します。 たとえば、「自然」という単語には、4つのペアがあります。 nr:単語内の文字(a、t、u)の間に3つの文字があり、アルファベット(o、p、q)の文字の間に3つの文字があるため ae:単語内の文字(t、u、r)とアルファベットの文字(b、c、d)の間に3文字あるため tu:単語内では文字間に文字がなく、アルファベットでは文字間に文字がないため tr:単語(u)内の文字とアルファベット(s)の間に文字が1つあるため 4つのペアがあるため、この場合の出力は4になります。
22 code-golf 

15
シーザーシフト
シーザーシフトは、おそらく私たちがよく知っているものです。 (宿題としてもしているかもしれません。もしそうなら、これらの答えをコピーしないでください。先生はほとんど間違いなくここの答えのようなものを望んでいません。) そうでない場合に備えて、シーザーシフトは非常に単純な暗号形式です。暗号化される文字列と整数を取ります。次に、文字列内のすべてのアルファベット文字について、次の変換を実行します。 アルファベットでのキャラクターの位置を調べます(0ベース)。 最初に受け取った整数をその数に追加します。 数が25より大きい間、26を引きます。 アルファベットの位置を確認します。 残りのキャラクターはそのままにしておきます。 大文字のない英語とは何ですか? 例: abcdefghijklmnopqrstuvwxyz 1 -> bcdefghijklmnopqrstuvwxyza Spam spam spam sausage and spam! 13 -> Fcnz fcnz fcnz fnhfntr naq fcnz! abcdefghijklmnopqrstuvwxyz 52 -> abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz -1 -> zabcdefghijklmnopqrstuvwxy ABCxyz 3 -> DEFabc 仮定 印刷可能なASCII文字を受け取る場合があります 入力数は負の値にすることができ、常に-128より大きく128未満になります(-128<x<128) 大文字と非大文字を可逆的にエンコードできる必要があります。 関数やスニペットだけでなく、完全なプログラムを作成する必要があります STDINまたは最も近い代替から入力を取得します 入力の形式を選択できます。これを回答に明記してください シフトする必要がある文字はASCIIコードポイント0x41 - 0x5Aおよび0x61-0x7A-大文字と小文字 …

30
n次元空間の2点間の距離
もう1つ簡単な例を示します。 チャレンジ n次元空間内の2つの点が与えられた場合、それらの間の距離(ユークリッド距離とも呼ばれます)を出力します。 座標は有理数になります。唯一の制限は、言語の制限です。 最低次元は1、最高次元は言語が処理できるものです 2つのポイントが同じ次元であり、空の入力がないと仮定できます。 距離は、少なくとも小数点以下3桁まで正確でなければなりません。ご使用の言語が浮動小数点数をサポートしていない場合は、最も近い整数を出力してください。 ルール 通常どおり、機能または完全なプログラムが許可されます。 入力は、STDIN、コマンドライン、または関数の引数から取得できます。 入力形式はあなた次第で、回答で使用した形式を指定します。 出力は、stdoutまたは戻り値への印刷によって提供されます。 これはコードゴルフなので、バイト数が最も少なくなります!同点の場合、以前の回答が優先されます。 テストケース 各ポイントは、長さnのリストで表されます。 [1], [3] -> 2 [1,1], [1,1] -> 0 [1,2], [3,4] -> 2.82842712475 [1,2,3,4], [5,6,7,8] -> 8 [1.5,2,-5], [-3.45,-13,145] -> 150.829382085 [13.37,2,6,-7], [1.2,3.4,-5.6,7.89] -> 22.5020221314 ハッピーコーディング!

13
3つの入力を持つジョセフス問題
このサイトにはこの質問に似た質問がありますが、私はひねりを加えました。 あなたは3つの入力を持ち、円の中の人の数は、N、K番目の人は、各ステップでアウトカウント、およびQ番目の人存続します。円の中の人には1からnまでの番号が付けられています。 たとえば、20人のサークルでは、生存する20番目の人が最初に削除され、19番目の生存者が2番目に削除されます。通常、ジョセフスの問題は、ここで最初の生存者と呼ばれる最後に削除された人を決定することです。 これらの3つの入力で、生き残るためにq番目の人の数を返す最短のプログラムまたは関数を記述します。 明確な問題がある場合は、お知らせください。 いくつかの例: >>> josephus(20, 3, 9) 4 >>> josephus(4, 3, 1) 1 >>> josephus(100, 9, 12) 46 編集:すべての入力が有効であると仮定します。つまり、誰も0または負の数を要求せず、5人のサークル内の20番目の生存者を要求しません(つまり、1≤q≤n)。 編集: 12月2日の開始時のUTC + 7の深夜に回答を受け入れます。
22 code-golf 

4
複数プログラムQuinecatenate!
あなたの仕事は、3つの異なる言語A、B、Cを提供し、次のような2つの異なるプログラムPとQを作成することです。 Pは言語Aのクインですが、BまたはCのクインではありません。 Qは言語Bのクインですが、AとCのクインではありません。そして Pの後に連結されたQ(間に新しい文字が追加されていない)は、言語Cではキインですが、BやAではキインではありません。 これはcodegolfで、スコアは最終的な連結されたクインの長さです。繰り返しますが、適切なクインのルールを守って ください-ソースコードを読んだり、空のプログラムをしたりしない

2
ニュースを読むのは退屈です。助けて!
ニュースが退屈であることは誰もが知っています。本当につまらない。政治家とそのスキャンダルに関するものでない限り。それは楽しいです!しかし、悲しいかな、政治家は非常に多くのスキャンダルを犯すことができます。そこで、ニュースをもっと面白くするためにあなたを雇っています。 目的 HTMLスニペットが与えられたら、ここにあるすべての置換を実行します。つまり、次の図です。 ただし、HTMLタグ自体は編集しないでください。有効な単語とは、HTMLタグまたはその属性内にない単語をいいます。つまり、あなたが代わるべきではない<div class="smartphone">iPhone</div>と<div class="pokedex">iPhone</div>、しかし、交換する必要があります<div>election</div>し<div>eating contest</div>。 解析ルール 編集非単語で区切られた単語のみを一致させる必要があります。つまり、完全な単語のみを一致させる必要があります。(たとえば、「He​​llo witness」と一致しますが、「Hellowitness」、「Hellow itness」、または「Witnesspacelection」とは一致しません。 キーボードで文字を入力できない場合は、最も近いものを表示する必要があります。(たとえば、「スマートフォン」は実際には「ポケデックス」になります) 最初の文字のケースまたはすべての文字のケースを保持する必要があります。(例えば、「彼らは死んだと思われる」は「おそらく金田、彼らは死んだ」、「彼らは死んだと思われる」は「おそらく彼らは死んだ」、「THE ELECTION!」は「THE EATING CONTEST!」、「SpAcE」は「Spaaace」と「nEW STUDY」は「tumblr post」になります) すべてのケースが一致する必要があります。(つまり、大文字と小文字に関係なく、単語を一致させる必要があります。) a <vowel>満たされるインスタンスはすべてan <vowel>、その逆になります。(たとえば、「上院議員」は「エルフの領主」になります)すべてのインスタンスに対してこれを行う必要はありませんが、少なくともあなた自身の交換のために。 複数形もすべて、翻訳で複数形を保持する必要があります(たとえば、「Smartphones」は「pokedex」になり、「Spaces」は「Spaaaces」になります) 特定の時制にあるものはすべて、翻訳時にその時制に残っている必要があります。(たとえば、「再構築」は「復ven」に、「再構築」は「復ven」などになります。) 翻訳では、単数形のすべてが単数形のままでなければなりません(たとえば、「議会の指導者」は「川の精神」になります) エントリが複数のHTML要素にまたがる場合、一致する必要がありますが、中間要素は「破棄」できます。(たとえば、S<b>pa</b>ace単に「spaaace」になるはずです)。エントリが単一の要素内に自己完結している場合、エントリは適切に照合され、タグは保持されます。 「証人」は「私が知っている男」になるはずです 「目撃者」は「私が知っているこの男」になるはずです 「証人」は「私が知っているあの男」になるはずです 「コメントが届かない」は「有罪であり、誰もが知っている」になります。 「コメントが届かない」は「有罪であり、誰もが知っている」になります ボーナス -N%ボーナスに出会ったら、あなたのnew amount = (old amount) * (1 - N/100)。だから、あなたが満たされた場合に-5%500バイトコードとボーナスを、あなたnew amount = 500 * (1 - 5/100) = 500 …
22 code-golf  string 

22
qaはnの2次剰余ですか?
与えられた2つの入力が以下をq n決定するqと、が2次剰余であるがnます。 つまり、正方形のmod はxどこにありますx**2 == q (mod n)かqnますか? 入力 2つの整数qおよびn、ここでqおよびnは任意の整数です0 <= q < nです。 出力 真実か偽か。 オプションで、以下のいずれか(またはすべて)xを印刷しますx**2 == q (mod n) 例 >>> quadratic_residue(1, 5) True >>> quadratic_residue(3, 8) False >>> quadratic_residue(15, 22) True ルール コードはプログラムまたは関数でなければなりません。入力は任意の順序にすることができます。これはコードゴルフであるため、バイト単位の最短コードが優先されます。 不明な点がある場合や修正が必要な場合は、お知らせください。 ボーナス 関数がq任意の整数として受け入れる場合の2バイトのボーナス。 カタログ var QUESTION_ID=65329;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=47581;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"http://api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function …

3
ゴルフストリングス
文字列圧縮を必要とするkolmogorov-complexityの課題に対する答えを出すことができませんでした。主な理由は、文字列圧縮ツールを必要以上に効果的に使用することを知らないためです。 このため、この質問を投稿しました。私の他のヒントの質問とは異なり、これは言語固有の意味ではありません。自分の言語でヒントを考えることができる場合は、投稿することができます(言語を指定する場合)。一般的なヒントも歓迎します。 それでは、文字列圧縮ツールを最大限に有効に使用するにはどうすればよいですか?

14
リンドンの単語を確認する
リンドン・ワードは厳密である文字列で辞書順で小さいその環状の回転のいずれよりも。バイナリ文字列が与えられたら、それができるだけ少ないバイト数のリンドン語かどうかを判断します。 たとえば001011、Lyndonの単語です。以下にリストされているその回転は、最初のシンボルを最後まで繰り返し移動することによって取得されます。 001011 010110 101100 011001 110010 100101 これらのうち、元の文字列は辞書的に最初に来るか、同等に、最小のバイナリ数を表します。 ただし、001001Lyndonの単語ではありません。これは、その回転の1つがそれ自体と同じであるため、辞書的に最も早いものに結び付けられているためです。 関連する問題。 入力:空でないバイナリ文字列または数字0とのリスト1。を表すために数字を使用することはできません。5101 出力:文字列がリンドン語かどうかを示す一貫したTruthyまたはFalseyの値。 Lyndonの単語専用のビルトインは許可されていません。 テストケース: 最大6文字のリンドン語は次のとおりです。 0 1 01 001 011 0001 0011 0111 00001 00011 00101 00111 01011 01111 000001 000011 000101 000111 001011 001101 001111 010111 011111 4までの長さの非リンドン語は次のとおりです。 00 10 11 000 010 100 101 110 111 0000 …
22 code-golf  string 

16
月曜日のミニゴルフ#4:JARVIS(Just Another Rather Vast set of Integer Sequences)
月曜日のミニゴルフ:毎週月曜日に(願わくば!)投稿された一連の短いコードゴルフの質問。 (すみません、また遅くなりました。基本的に昨日も今日もコンピューターから離れていました。) 私たちプログラマー(特にコード愛好家)は、任意の整数シーケンスが大好きです。これらのシーケンス専用のサイト全体があり、現在約200,000のエントリがあります。この課題では、これらのシーケンスのさらに別のセットを実装します。 チャレンジ あなたの課題は、整数Nを取り込んで10を基数とする整数のシーケンスを出力するプログラムまたは関数を作成することです。次の各整数は次のように決定されます。 1から始めます。 前の整数の基数10表現の各桁Dに対して: Dが0の場合、現在の整数に1を追加します。 そうでなければ、現在の整数にDを掛けます。 詳細 0 < N <2 31と仮定できます。 シーケンス内の各整数は、10未満の数に達するまで、入力番号から始めて出力する必要があります。 出力は、配列、またはスペース、コンマ、改行、またはこれらの組み合わせで区切られた文字列です。 末尾のスペースや改行を使用できますが、末尾のコンマは使用できません。 先行ゼロはありません。 例 例1: 77 この例はかなり簡単です。 77 = 1*7*7 = 49 49 = 1*4*9 = 36 36 = 1*3*6 = 18 18 = 1*1*8 = 8 したがって、適切な出力は77 49 36 18 8です。 例2: 90 …

30
Thue-Morseシーケンスを書き出す
このサイトには、シーケンスを印刷するように求めるいくつかの課題がありますが、これも例外ではありません。 (このチャレンジのシーケンスの次の説明では、シーケンス内のシンボルが0およびであると想定しています1。) 再帰的定義Thue-Morseのシーケンスがあることです T_0 = 0 T_2n = T_n T_2n+1 = 1 - T_n より直接的な定義はからそのシーケンスである0と2**m-1し、2**m to 2**(m+1)-1バイナリ補完しています。そう0では続いて1、01続いて10、0110続いて1001、そして、先にビットを飛ばし、0110100110010110続いています1001011001101001。 課題は、最初の要素のThue-Morseシーケンスを出力するプログラムまたは関数を作成することです。nここで、nは負でない整数です。以下の例に示すように、出力には任意の2つのシンボルを使用できます。 例 >>> tm_01(20) 01101001100101101001 >>> tm_ab(42) abbabaabbaababbabaababbaabbabaabbaababbaab >>> tm_paren(37) ())()(())(()())()(()())(())()(())(()( >>> tm_space_star(12) ** * ** * >>> tm_01(0) # to show that this is a valid input ルール 入力は負でない整数になります。すべての入力が有効であると想定できます。 出力nは、便利な記号を使用して、Thue-Morseシーケンスの最初の要素でなければなりません。必要に応じて、セパレータを追加することもできます。私の例では、そうではありません。 注:としてこのルールは、(Pythonののそれらのような)のリストを可能にする,有効な区切りであると私は文字を先頭または末尾に気にしないよう、[そして]出力に。 これはコードゴルフであるため、最小バイト数が優先されます。 …

1
依存関係グラフの可視化
この課題の目標は、依存グラフをツリー形式で視覚化するプログラムを作成することです。この文脈での「依存グラフ」は有向グラフにすぎませんが、ここで説明する視覚化方法は、いくつかの依存関係を説明するグラフに最適です(課題として、課題を読んだ後、サンプルグラフ、および結果が有用かどうかを確認します。) プログラムへの入力は、次の形式の行である1つ以上のターゲット定義で構成されます。 Target DirectDependency1 DirectDependency2 ... 、ターゲットの定義、および関連する直接依存関係(ある場合)。ターゲットとその依存関係は、まとめてオブジェクトと呼ばれます。オブジェクトが依存関係としてのみ表示され、ターゲットとして表示されない場合、そのオブジェクトには依存関係がありません。入力に現れるすべてのオブジェクトのセットはΓと呼ばれます。(入力形式の詳細については、「入力および出力」セクションを参照してください。) オブジェクトのペアAとBについて、次のように言います。 依存するB(等価的に、 Bがで必要とされるA)場合、 Aは直接に依存する B場合、または Aは直接に依存する B「および B」に依存する B一部のオブジェクトのために、 B」。 適切に依存するB(等価的に、 Bが適切で必要とされるA場合、) Aが依存する B、及び Bは依存しない A。 私たちは、不自然なオブジェクトを定義ʀooᴛ ʀooᴛが直接すべてのオブジェクトによって必要とされていないような、ないΓに、そしてすべてのオブジェクトのためにこのような、というAを、ʀooᴛ直接に依存してA場合と場合にのみ、Aは Γであり、そしてAがありません適切Γ内の任意のオブジェクトによって必要とされる(換言すれば、ʀooᴛ直接に依存Aは他のオブジェクトが依存していない場合はA、または依存するすべてのオブジェクト場合Aはまたによって必要とされるA。) 出力ツリー ルートノードが「oo」であり、各ノードの子がその直接の依存関係であるようなtreeを構築します。例えば、与えられた入力 Bread Dough Yeast Dough Flour Water Butter Milk 、結果のツリーは 、またはASCII形式で、 ʀooᴛ +-Bread | +-Dough | | +-Flour | | +-Water | +-Yeast …

2
自然数の列
定義 連結された自然数(1から始まる正の整数)の無限の行があります。 1234567891011121314151617181920212223... チャレンジ 入力として位置番号を受け入れ、上記で定義された行のその位置から数字を出力する任意の言語でプログラムを作成します。 位置番号は、任意のサイズの正の整数です。つまり、最初の位置は1であり、出力数字「1」が生成されます。 入力は、10進数(例:13498573249827349823740000191)、または正の整数に対応するe表記(例:1.2e789)のいずれかです。 非常に大きなインデックスを入力として指定すると、プログラムは妥当な時間(最新のPC / Macでは10秒)で終了する必要があります(たとえば、1e123456-123456ゼロの1)。したがって、単純な反復ループは受け入れられません。 無効な入力が与えられた場合、プログラムは1秒以内にエラーで終了する必要があります。例えば。1.23e(無効)、または1.23e1(12.3に等しい-整数ではない) パブリックBigNumライブラリを使用して数値を解析/保存し、それらに対して単純な数学演算を実行しても問題ありません(+-* / exp)。バイトペナルティは適用されません。 最短のコードが優先されます。 TL; DR 入力:bignum整数 出力:無限行のその位置の数字 123456789101112131415... いくつかの受け入れテストケース 「入力:出力」という表記で。それらはすべて合格するはずです。 1:1 999:9 10000000:7 1e7:7(上記の行と同じ) 13498573249827349823740000191:6 1.1e10001:5 1e23456:5 1.23456e123456:4 1e1000000:0 1.23e:エラー(無効な構文) 0:エラー(範囲外) 1.23e1:エラー(整数ではない) ボーナス! 数字内の桁位置番号を出力し、数字自体を出力します。例えば: 13498573249827349823740000191: 6 24 504062383738461516105596714 番号「50406238373846151610559 6 714」の位置24の数字「6」です。 1e1000000: 0 61111 1000006111141666819445...933335777790000 999995桁の長い数字の位置61111の数字「0」ここには含めません。 ボーナスタスクを実行する場合、コードのサイズに0.75を掛けます クレジット …

28
真実を逆にする
次のプログラムまたは関数を作成します。 stdioまたは引数から文字列を受け取ります truewith falseおよびfalsewithのすべての出現を置き換えますtrue それが逆になりますが、逆にしないtrueとfalse 結果を返すか出力します 例(左側が入力): "true" "false" "2false" "true2" "true is false" "true si false" "false,true,undefined" "denifednu,false,true" "stressed-false" "true-desserts" "falstrue" "falseslaf" "true false true x" "x false true false" 標準の抜け穴が適用されます。これはcode-golfなので、バイト単位の最短コードが優先されます。 リーダーボード コードスニペットを表示 var QUESTION_ID=63256,OVERRIDE_USER=20569;function answersUrl(e){return"http://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"http://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 …

6
レインボーテキストを作成する
あなたの課題は、入力をテキスト行として取得し、次のように出力することです。 入出力 入力は、印刷可能なASCII文字のみを含む文字列になります。最初または最後の文字がスペースになることはありません。また、2つのスペースが連続することはありません。常に少なくとも2文字の長さになります。 出力は、以下で説明するように、虹色に変換された同じ文字列である必要があります。出力は画像形式(ファイルに保存されるか、何らかの方法で利用可能になったもの)である場合もあれば、単に画面に結果を表示する場合もあります(以下の参照実装のように)。 変換 文字列の各文字が何色になるかを判断するには、次のアルゴリズムを使用します。各文字は、独自の個別の色であることに注意してください。これは勾配ではありません! この文字がスペースの場合: ...スペースは実際にはできないので、それは問題ではありません...とにかく色を持っています。単にスペースを出力します。 さもないと: Let i=文字列内のこの文字のインデックス(0から始まるため、最初の文字の場合、これは0)で、スペースはカウントしません。例えば、文字列でfoo bar、この値は次のようになります4ためa。つまり、これは、これまでに検出された非スペースの数です。 Let n=文字列内の非スペースの数。 この文字の色は、HSL円筒座標系で、[色相=(i/ n)* 360°、彩度= 100%、明度= 50%] として表現できるようになりました。 これらの指示は、の後に追加されたスペースを除き、fooとの出力f ooがまったく同じであることを意味することに注意してくださいf。つまり、すべての文字が同じ色を保持する必要があります。 変換プロセスのその他の規則については、以下の「規則」セクションで説明します。 リファレンス実装 これはJavaScriptで記述されており、「コードスニペットの実行」ボタンを押すことで試すことができます。 window.addEventListener('load', function() { addRainbow('Your challenge is to take input as a line of text and ' + 'output it like this.'); }); // append this …
22 code-golf 

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