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

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

7
1次元の有限タイル
この課題の目的は、1次元の断片のコレクションを並べて有限の連続チャンクを形成できるかどうかを判断することです。 ピースは 0と1の空でない有限のシーケンスであるものと開始し、終了します。いくつかの可能な部分があり1、101、1111、1100101。 タイリングとは、1つの連続したブロックが形成されるようにピースを配置することを意味します。ある作品の1つは、別の作品の1つの場所ではなく、ゼロの場所を占めることができます。 同様に、1つを「固体材料」とみなし、0を「穴」とみなす場合、穴を残さずに1つのストレッチを形成するようにピースを合わせる必要があります。 タイルを形成するには、ピースを1次元空間に沿ってのみシフトできます。(それらを分割したり、反映したりすることはできません)。各ピースは1回だけ使用されます。 例 三枚101、11、101各片は必要シフトで表され、以下に示すようにタイル張りすることができます。 101 11 101 したがって、取得されたタイルは 111111 2番目の例として、ピース11011と1001101タイルを並べることはできません。特に、シフト 11011 1001101 衝突するものが2つあるため、無効です。そして 11011 1001101 結果にゼロが含まれるため、無効です。 追加のルール 入力は、 1個以上のコレクションです。合理的な形式が許可されます。例えば: 文字列のリスト。各文字列には、2つの異なる一貫した文字を含めることができます。 いくつかの配列。各配列には1つのピースの位置が含まれます。 各数のバイナリ表現などの(奇数)整数のリストは、ピースを定義します。 出力は、タイリングが可能であり、そしてfalsy値そうでない場合truthy値であるべきです。出力値は一貫している必要はありません。つまり、入力ごとに異なる場合があります。 プログラムまたは機能にはいずれにも、許可されているプログラミング言語。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 テストケース 各入力は異なる行にあります 真実の 1 111 1, 1 11, 111, 1111 101, 11, 1 101, 11, 101 10001, 11001, 10001 100001, 1001, …

30
アルファベット完成率
前書き 与えられた文字列はどのくらいの英語アルファベットを使用しますか?前の文は77%を使用しています。20個の一意の文字(howmucftenglisapbdvr)と20/26≃0.77があります。 チャレンジ 入力文字列の場合、文字列に存在する英語のアルファベットの文字の割合を返します。 回答は、パーセント形式または小数形式にすることができます。 入力文字列には、大文字と小文字、および句読点を含めることができます。ただし、発音区別符号やアクセント記号付きの文字はないと想定できます。 テストケース 入力 "Did you put your name in the Goblet of Fire, Harry?" he asked calmly. 有効な出力 77%, 76.9, 0.7692 入力: The quick brown fox jumps over the lazy dog すべての有効な出力: 100%, 100, 1 以下のための出力を期待"@#$%^&*?!"して""0です。
32 code-golf 

16
プライムを定義するさまざまな方法
素数の私のお気に入りの定義の1つは次のとおりです。 2は最小の素数です。 2より大きい数は、より小さい素数で割り切れない場合、素数です。 しかし、この定義はarbitrary意的と思われます。なぜ2なのでしょうか なぜ他の数字ではないのですか?まあ他のいくつかの数値を試してみましょう nは最小のn素数です。 nより大きい数は、より小さいn素数で割り切れない場合、n素数です。 仕事 ここでのタスクは、2つの入力、正の整数とるプログラム書くことであるnは整数正。次に、aがn素数であるかどうかを判断します。プログラムは、「yes、it is n-prime」と「no、it is not n-prime」の2つの異なる値を出力する必要があります。 これはコードゴルフの質問なので、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。 テスト 以下は、n = 2からn = 12までの最初の31個の素数のリストです(1は唯一の1素数です) n=2: [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127] n=3: [3,4,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127] n=4: [4,5,6,7,9,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113] n=5: [5,6,7,8,9,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113] n=6: [6,7,8,9,10,11,13,15,17,19,23,25,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107] n=7: [7,8,9,10,11,12,13,15,17,19,23,25,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107] n=8: [8,9,10,11,12,13,14,15,17,19,21,23,25,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89,97] n=9: [9,10,11,12,13,14,15,16,17,19,21,23,25,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89,97] n=10: [10,11,12,13,14,15,16,17,18,19,21,23,25,27,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89] n=11: [11,12,13,14,15,16,17,18,19,20,21,23,25,27,29,31,35,37,41,43,47,49,53,59,61,67,71,73,79,83,89] n=12: [12,13,14,15,16,17,18,19,20,21,22,23,25,27,29,31,33,35,37,41,43,47,49,53,55,59,61,67,71,73,77]

9
段ボールの桁数はいくつ必要ですか?
数字を表示するために、段ボール製の数字を準備する必要があります(例)。どの数字を表示する必要があるかは事前にわかりません。知っているのは、それがを超えないことだけnです。 段ボールの数字を何桁用意すればよいですか? 例: n = 50 0 ... 50の範囲の数字を表示するには、次の数字が必要です。 ゼロ、数値0またはその他のラウンド数を表示するため 対応する数字を表示するための数字1、2、3、4の2つのコピー 数字5、6、7、8の1つのコピー。数字の最下位桁として表示される場合 代わりに逆の数字6を使用できるため、数字9は必要ありません。 合計:13桁 テストケース(各行は「入力;出力」形式のテストケースです) 0 1 1 2 9 9 11 10 50 13 99 17 100 18 135 19 531 22 1000 27 8192 34 32767 38
32 code-golf  number 

14
円形テープは刺激的ですか?
Brainfuck派生物 簡単なBrainfuckのようなプログラミング言語を定義しましょう。セルの双方向テープがあり、各セルは1ビットを保持します。すべてのビットは最初は0です。最初は位置0にテープの移動ヘッドがあります。プログラムは<>01!、次のセマンティクスを使用して、左から右に実行される文字上の文字列です。 < ヘッドを1ステップ左に移動します。 > 頭を1ステップ右に移動します。 0 現在のセルに0を入れます。 1 現在のセルに1を入れます。 ! 現在のセルを反転します。 ループがないため、n文字のプログラムは正確にnステップで終了します。実行の最後にすべてのセルに0が含まれる場合、プログラムは退屈です。少なくとも1 つがあれば、エキサイティングです。テープのサイズは指定されていないため、実装によっては双方向無限または円形。 サンプルプログラム プログラムを検討してください1>>>!<<<<0>!>>>!。無限テープでは、実行は次のように進行します。 v 00000000000000 Put 1 v 00000100000000 Move by >>> v 00000100000000 Flip v 00000100100000 Move by <<<< v 00000100100000 Put 0 v 00000100100000 Move by > v 00000100100000 Flip v 00000000100000 Move by >>> …

30
レーンの数字
入力: 整数のリスト 出力: -0123456789重複する数字を無視して、各数字(およびマイナス記号)を独自のレーンに順番に配置します。 例: 入力: [1,729,4728510,-3832,748129321,89842,-938744,0,11111] 出力: -0123456789 <- Added as clarification only, it's not part of the output 1 2 7 9 012 45 78 - 23 8 1234 789 2 4 89 - 34 789 0 1 チャレンジルール: 番号の重複した数字は無視されます。 I / Oは、任意の合理的な形式にすることができます。入力は、文字列のリスト/配列または文字配列にすることができます。出力は、文字列、文字、文字行列などのリストとして可能です。 末尾のスペースはオプションです。 先頭または末尾の改行の量は任意です(ただし、行の間ではありません)。 入力には常に少なくとも1つの整数が含まれます -2,147,483,648ただし、少なくとも2,147,483,64732ビットの整数範囲をサポートする必要があります。 input-listには-0、00(または2つ以上のゼロ)、または先頭にゼロが付いた整数(つまり012)は含まれません。 …

6
マトリックス内のヘビを見つける
チャレンジ バイナリマトリックスとバイナリ文字列が与えられたら、そのバイナリ文字列がマトリックス内の任意のポイントから始まり、その後の任意のポイントで任意の方向に移動してバイナリ文字列を形成できるかどうかを判断します。つまり、文字列はマトリックス内で折りたたまれていますか? 文字列は90度または180度(エッジ接続、マンハッタン距離1)でのみ折りたたむことができ、どの点でも重なることはできません。 例 次の例を見てみましょう。 Matrix: 010101 111011 011010 011011 Snake: 0111111100101 これは真実のテストケースです。次の位置でヘビが折りたたまれているのがわかります。 0-1 0 1 0 1 | 1 1 1-0 1 1 | | | | 0 1 1 0-1-0 | | 0 1-1 0 1 1 ルール 標準的な抜け穴が適用されます 必要に応じて、文字列の長さと行列の幅と高さを入力として使用できます バイナリ行列とバイナリ文字列を、複数行の文字列/文字列の配列/改行結合文字列/その他の結合文字列と文字列として取ることができます 複数の引数の代わりに、次元をフラット配列として取ることができます プログラムは、長さ10までの文字列を含む5 x 5マトリックスで1分以内に終了する必要があります 制限事項 行列は必ずしも正方形ではありません 文字列は空ではありません …

30
連続する等しい2進数のない最初のn個の数字
シーケンスには、次の形式の2進数の10進数表現が含まれ10101...ます。ここで、n番目の項にはnビットがあります。 数のバイナリ表現と10進表現の関係を示すだけで、シーケンスを説明するのがおそらく最も簡単です。 0 -> 0 1 -> 1 10 -> 2 101 -> 5 1010 -> 10 10101 -> 21 101010 -> 42 チャレンジ: 入力整数を受け取りn、シーケンスの最初のn個の数値を返します。シーケンスのインデックスを0にするか、1にするかを選択できます。 テストケース: n = 1 <- 1-indexed 0 n = 18 0, 1, 2, 5, 10, 21, 42, 85, 170, 341, 682, 1365, 2730, 5461, 10922, …

1
Pyramid Schemeコードを生成する
Pyramid Schemeは@ ConorO'Brienによって開発されている言語です。Pyramid Schemeでは、作成するコードは次のようになります。 ^ ^ / \ /3\ / \ --- / + \ ^-------^ /9\ /3\ /123\ --- ----- さて、このコードには2つの明らかな性質があります。解析するのが難しく、書くのが難しいということです。Conorは最初の問題を解決しましたが、2番目の問題を解決するのはあなたの仕事です。 上記のコードは、PyramidSchemeインタープリターによって、次のようにネストされた文字列配列に処理されます。 [["+", ["9123", "3"]], "3"] あなたの仕事は、ネストされた文字列の配列を与え、再作成されたPyramidSchemeコードを出力または返すプログラムまたは関数を書くことです。入力配列は常に有効であると想定できます。 ピラミッドは二等辺三角形です。上部は、^斜めに離れると辺傾き、/及び\、下です-。下の2つの角は空であるか、引数である他のピラミッドの開始点を含んでいます。中央には、改行を無視してピラミッドの名前が表示されます。 パーサーがコードを使用可能な形式に変換する方法を次に示します。まず、最上位のピラミッドをスキャンします。引数をとらない場合、単一の文字列でそれを表し、先に進みます。それ以外の場合は、配列["name",[arg1,arg2]]またはとして表現され["name",[arg1]]ます。引数は、ピラミッドの左下および右下のピラミッドです。これは、上記の文字列または複数の配列のいずれかです。これはLispにやや似ていることに気付くかもしれません。その場合、言語名であるひどいしゃれに気づいたかもしれません。ピラミッドが完全に表示された後、パーサーは次のピラミッドに進みます。 これはcode-golfで、最短のコードが勝ちます! テストケース:これらは有効な出力だけではなく、有効な出力の例です。 [["+", ["9123", "3"]], "3"] ^ ^ / \ /3\ / \ --- / + \ ^-------^ /9\ /3\ …

20
マイ・ウェイ・ア・ナンバー
人々は、数の二乗は数にそれ自体を掛けたものであると私に言い続けます。これは明らかに間違っています。数字を二乗する正しい方法は、それを数字の上に積み重ねて、数字の数と同じ数だけ積み重ねてから、結果の四角からすべての数字を水平方向に(両方から読み取ることによって)正方形にすることです(左から右のみ)および垂直方向(上から下のみ)で、それらを一緒に追加します。したがって、番号123については、最初に正方形を作成します。 123 123 123 次に、正方形からすべての行と列を取得し、それらを一緒に追加します。 123+123+123+111+222+333 の結果が得られ1035ます。 負の数の場合、通常スタックし(桁数のみを数えるので、負の符号は長さに含まれないことに注意してください)、水平の数を通常通りに読み(負の符号付き)、次に負の符号を無視します縦の数字。したがって、数値-144については正方形を取得します。 -144 -144 -144 これは私たち-144-144-144+111+444+444に与えます567 1桁の数字の場合、正方形は常に2倍になった数に等しくなります(水平方向に1回、垂直方向に1回読み取られます)。だから4私たちに与えます 4 それは私たち4+4に与え8ます。 小数部分のある数字の場合、通常スタックします(数字をスタックする回数には数字のみがカウントされるため、小数点はカウントされないことに注意してください)。たとえば、数字244.2は 244.2 244.2 244.2 244.2 それは私たち244.2+244.2+244.2+244.2+2222+4444+4444+2222に与え14308.8ます。 小数または複素数を二乗することはできません。 あなたのタスク: 私は手作業で数字を二乗するのにうんざりしているので、プロセスを自動化することにしました。入力としてフロートまたは文字列のいずれかを受け取り、それを自分の方法で二乗した結果を返すプログラムまたは関数を作成します。 例: 123 -> 1035 388 -> 3273 9999 -> 79992 0 -> 0 8 -> 16 -6 -> 0 -25 -> 27 -144 -> 567 123.45 …
32 code-golf  number 

30
nからbの次の累乗はどれくらい離れていますか?
させるnおよびはbより大きい正の整数です1。 nからの次の累乗までの距離を出力しbます。 ためn=5とb=3、次の電源3から5IS 9(3^2 = 9)、出力されるように9 - 5 = 4。 ためn=8とb=2、次の電源2から8IS 16(2^4 = 16)、出力されるように16 - 8 = 8。注nの力である2。この例では テストケース: n b output 212 2 44 563 5 62 491 5 134 424 3 305 469 8 43 343 7 2058 592 7 1809 289 5 336 694 3 35 324 …

13
大きなコード…あなたのために!
Dark Knightのオープニングシーンでは、CIAエージェントと悪役Baneの間にやや厄介な会話があります。 CIAエージェント:「その[マスク]を外すと、あなたは死にますか?」 ベイン:「それは非常に痛いでしょう...」 CIAエージェント:「あなたは大物です。」 ベイン:「…あなたのために。」 Baneが「あなたにとって苦痛」または「あなたにとって大きな男」と言うつもりであるかどうかはわかりません。この問題をコードゴルフを通じて一度解決しましょう! チャレンジ あなたの仕事は、入力として与えられた整数に応じて上記のダイアログを並べ替えるプログラムを書くことです。 CIAエージェントの対話の言葉は次のとおりです。 If I pull that off will you die? You're a big guy. ベインの台詞は次のとおりです。 It would be extremely painful... for you! それを注意してくださいdie?、You’re、painful...およびyou!単一の単語として考えられています。 整数nを入力として、バイナリに変換します 2進数を左から右に読み取り、数字がの場合はCIAエージェントダイアログから次の単語を出力し1、数字がの場合はBaneダイアログから次の単語を出力し0ます。単語はスペースで区切る必要があります。スピーカーが変わったら、改行を追加します。また、各ダイアログの行の前にスピーカー名(BANE:またはCIA:)を付けます。 入力は常にバイナリ形式の1で始まり、12個の1と7個のゼロがあると仮定できます。 例 522300 バイナリに変換: 1111111100000111100 番号は8個で始まるため、CIAのエージェントダイアログから最初の8個の単語を出力し、CIAをプレフィックスとして付けます。 CIA: If I pull that off will you die? その後、5つのゼロを取得したので、Baneのダイアログから最初の5つの単語を取得します。 BANE: …
32 code-golf 

30
整数のバイナリ値で1の最長シリーズを計算します
ゴール 負でない整数が与えられた場合、その整数のバイナリ値で最大数の連続した1の開始位置を返す関数を作成します。 入力が与えられたら0、を返し0ます。 番号に同じ長さの複数のストリークがある場合、最後のストリークの位置を返す必要があります。 入力 整数より大きいか等しい 0。 出力 以下で説明するように計算された整数。 ルール これはコードゴルフなので、各言語のバイト単位の最短コードが優先されます。 標準的な抜け穴は禁止されています。 例とテストケース 例1 関数には整数142が渡されます 142はバイナリで10001110に等しい 最長のストリークは「111」(3つのストリーク)です ストリークは2 ^ 1の位置から始まります 関数は結果として1を返します 例2 関数には整数48が渡されます 48はバイナリで110000に等しい 最長のストリークは「11」(2つのストリーク)です ストリークは2 ^ 4の位置から始まります 関数は結果として4を返します 例3 関数には整数750が渡されます 750はバイナリで1011101110に等しい 最長のストリークは「111」(3つのストリーク)です 長さが等しい2つのストリークがあるので、後のストリークを返します。 後のストリークは2 ^ 5の位置から始まります 関数は結果として5を返します

2
Office Escape:計画を立てましょう!
それは最後のスプリントです...そして、あなたのチームの半分は病気です。あなたは遅く働いて、その日の最後のコミットをして、楽しみにしています...なぜライトが消えたのですか?警備員がやってくるのを覚えていません... 私は家に鍵を置いた! 状況の恐怖が沈むにつれて、あなたはあなたが逃げようとしていると決める。 タスクの概要 逃げるには、計画が必要です!ただし、計画には失敗する可能性があり、計画ごとに異なる労力が必要であることはご存じでしょう。 お腹が空いていて、疲れていて、エンジニアであるあなたは、短いプログラムを書いて、複雑さから逃れるための最良の方法を決定し、成功の可能性とそれが必要とする努力のバランスを取ります。 建物の地図を作成します。 ####################### # = # ! = ! <-- window # ! = # (freedom!) #################= # # # = # # # = # # # = # # o ! # # ! = # ##| ! ## # ! = # …

8
Wordのフォントサイズセレクターをスクロールする
Word およびボタンは、次の規則に従ってフォントサイズを変更します。A▲ᴀ▼ 開始フォントサイズは11です。 場合は、フォントサイズが1の場合に押され、大きさは1のままです。ᴀ▼ フォントサイズは1〜12の範囲で1ポイント変化します。 フォントサイズは、12〜28の範囲の2ポイントで変化します。 選択肢は、28〜36の範囲の28、36、48、72、および80です。 フォントサイズは、80〜1630の範囲で10ポイント変化します。 フォントサイズは、1630〜1638の範囲の8ポイントで変化します。 場合は、フォントサイズが1638の場合に押され、サイズは1638のままです。A▲ 仕事 可能な限り少ないバイト数で、適切な形式でボタンを押した場合のフォントサイズを決定します。 例 [3,-1,2]、意味:結果は18です。A▲A▲A▲ᴀ▼A▲A▲ いくつかの可能なフォーマットです'^^^v^^'、[1 1 1 -1 1 1]、[True,True,True,False,True,True]、["+","+","+","-","+","+"]、"‘‘‘’‘‘"、"⛄️⛄️⛄️🌴⛄️⛄️"、111011、"CaB"、等... [2]:14 [-1]:10 [13]80 [-11,1]:2 [11,-1]:36 [170,-1]:1630 [2000,-2,100]:1638

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