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

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

15
OVSFコードですか?
1sと-1sのリストが与えられたら、それが有効なOVSFコードかどうかを判断します(真偽値または偽値を出力します)。 OVSFコードは次のように定義されます。 [1] OVSFコードです。 場合はX、次に、OVSFコードであるX ++ XとX ++ -Xの両方のOVSFコードです。 以下++はリストの連結-で、リスト内のすべての要素を否定します。 他のリストは有効なOVSFコードではありません。 あなたは、入力リストにのみ含まれているとして-1と1していますが、その長さが2のべき乗ではありません空正しくリスト、などのリストを処理する必要があります。 最短コード(バイト単位)が優先されます。 テストケース [] -> False [1] -> True [-1] -> False [1, 1] -> True [1, -1] -> True [1, 1, 1, 1] -> True [1, 1, 1, 1, 1] -> False [1, -1, -1, 1, -1, 1, …

19
ASCIIブックシェルフ
基本的に一緒に積み重ねることができる木製の箱である積み重ね可能な棚を知っていますか?ASCIIアートを使用した本棚から本棚を作成することをシミュレートします。 私たちの本はすべて便利なサイズで統一されており、すべて次のように見えます。 |X| |X| |X| 本棚は個別の箱で、常に内側が3文字の高さ(直立した本に収まるのに十分な大きさ)で、|左右の-文字、上下の文字で構成され、X本が収まるのに十分な幅です(X入力は整数)。たとえば、サイズの本棚は3次のとおりです。 |---------| | | | | | | |---------| 3書籍をそのように収めることができるからです |---------| ||X||X||X|| ||X||X||X|| ||X||X||X|| |---------| 入力は、2つの厳密に正の整数にXなりますY。ここXで、棚の幅(本で測定)と、Y積み重ねなければならない本の数です。1つの棚に収まるよりも多くの本がある場合は、上部にさらに棚を追加する必要があります。たとえば、ここに入力があります4 wide / 6 books: |------------| ||X||X| | ||X||X| | ||X||X| | |------------| |------------| ||X||X||X||X|| ||X||X||X||X|| ||X||X||X||X|| |------------| Y % X > 0書籍の数が棚サイズの整数倍でないことを意味する場合、残りの書籍は一番上の左端の位置に移動し(4 6上記の場合のように)、その棚の残りの部分はスペース。 入力 二厳密に正の整数任意の便利な形式で、各>0。 どちらの順序でも入力できます(たとえば、棚のサイズを最初に、次に本の数、またはその逆)。提出物に入力順序を明記してください。 どちらの入力も、言語のデフォルト[int]サイズ(または同等のサイズ)よりも大きくないと想定できます。 出力 結果として生じる本と本棚のASCIIアート表現。 …

1
そのPRNGは誰ですか?
625個の32ビット符号なし整数のシーケンス(つまり、範囲内[0, 2**32))が与えられた場合、次の疑似乱数ジェネレーターのどれがシーケンスを生成したかを出力します。 線形合同ジェネレータ Xorshift メルセンヌ・ツイスター 具体的には、このチャレンジに使用されるこれら3つのジェネレーターのC実装は次のとおりです。 #include <stdint.h> /* all code adapted from the sample implementations on the following Wikipedia pages: https://en.wikipedia.org/wiki/Linear_congruential_generator https://en.wikipedia.org/wiki/Xorshift https://en.wikipedia.org/wiki/Mersenne_Twister */ uint32_t lcg_seed; uint32_t xor_x, xor_y, xor_z, xor_w; void lcg_srand(uint32_t seed) { lcg_seed = seed; } uint32_t lcg(void) { lcg_seed = ((uint64_t) lcg_seed * 1103515245 + …

24
Brexitはいつ発生しますか?
まあ、Brexit が起こった。そして、Sky Newsは天才であるため、バスの横にカウントダウンを作成することにしました。 あなたの仕事は似たようなことをすることです。英国は2019年3月31日にEUを離脱します。これには、毎秒変化するデジタルカウントダウンを作成する必要があります(0.05秒の偏差が許可されます)。 入力 あなたのプログラムはまったく入力を受け付けません。禁止されています! 出力 Brexitまでの時間をフォーマットで出力する必要がありますddd:hh:mm:ss。先頭と末尾の改行は許可されますが、表示は毎回同じ場所に留まる必要があります。実際には所定の位置で減少しているように見えるはずです。@AnthonyPhamが指摘したように、これは画面を「クリア」するのに十分な改行を印刷することを意味するものではなく、実際に画面をクリアする必要があることを意味します。 このような出力は許可されていません。 100:20:10:05 100:20:10:04 これも 100:20:10:05 *A thousand newlines* 100:20:10:04 彼らは複数の行にいるので。 Brexitの後に心配する必要はありません。あなたのプログラムは31/3/2019までしか動作しません ルール 標準的な抜け穴は許可されていません これはコードゴルフなので、バイト単位の最短コードが優先されます。 エラーメッセージ(方法は思いつきませんが)は許可されません コードは2年後(英国がEUを離れるとき)に実行でき、実際の時刻を表示する必要があり、730から再び開始することはできません(以下を参照) カウントダウンルール カウントダウンはハードコードされてはならず、Brexitが終了する前にいつでも実行でき、正しい結果を生成できるはずです。新しい日が始まると、時間は次の形式に従う必要があります 712:00:00:01 712:00:00:00 711:23:59:59 繰り返しますが、Brexitが終了する日付は、便宜上深夜31/31/2019です(31:3:19 00:00:00または31:3:2019 00:00:00またはその他の任意の形式) NB:私はすべてを持っていると思いますが、私はこれをサンドボックスに投稿しませんでした。さもなければ、タイミングがずれていたかもしれません。完璧ではないため、改善のための提案を自由に投稿してください。
27 code-golf  date 

24
クリスマスの日は?
序文 よく知られているキャロル「クリスマスの十二日間」では、ナレーターに毎日いくつかのプレゼントが贈られます。歌は累積的です -各節で、新しいギフトが追加され、その前のギフトよりも1つ多くなります。1つのヤマウズラ、2つのカメの鳩、3つのフレンチヘンなど。 与えられた詩Nで、N番目の四面体の数を見つけることで、これまでの曲のプレゼントの累積和を計算できます。 Verse 1: 1 Verse 2: 4 Verse 3: 10 Verse 4: 20 Verse 5: 35 Verse 6: 56 Verse 7: 84 Verse 8: 120 Verse 9: 165 Verse 10: 220 Verse 11: 286 Verse 12: 364 たとえば、4節以降、4 *(1ヤマウズラ)、3 *(2カメの鳩)、2 *(3フランスの雌鶏)、1 *(4羽の鳥)がありました。これらを合計すると、が得られ4(1) + 3(2) + 2(3) + …

6
ASCIIジグソーパズル
これは3x3ASCIIジグソーパズルです。 _____ _____ _____ | _| |_ | | (_ _ _) | |_ _|_( )_|_ _| | (_) |_ _| (_) | | _ _) (_ _ | |_( )_|_ _|_( )_| | _| (_) |_ | | (_ _) | |_____|_____|_____| これも3x3ASCIIジグソーパズルです。 _____ _____ _____ | |_ _| …

2
ハリケーンマシューとライトニングボルト
チャレンジ この挑戦と厄介なハリケーンマシューに触発され、私たちはいくつかの稲妻を動的に生成します。 n = 15: \ /\ / \ / / /\ /\ / \ \ / / /\ /\ \ / / \ /\ \ /\ / \ \ /\ / \ \ /\ 入力 正の整数nは、落雷の深さを決定します。 ルールと制約 /そして、\使用すべきです 雷の方向を導く確率は次のとおりです。 25%が2つのパスに分割 25%パスが行き止まりに達する 25%が残ります 25%が適切 以下に、重複および行き止まりに関するいくつかの例外があります。 コードは確定的であってはならず、毎回新しい稲妻がランダムに生成される必要があります ボルトはオーバーラップしてはなりません。たとえば、現在のボルトの左側にすでにボルトがある場合、現在のボルトは終了または右に移動する必要がありますが、左または分割にはなりません(確率は適用され、この場合は50%になります) / 50%right) 使用可能な別の分割パスが存在しない場合、パスは終了してはなりません。たとえば、パスが1つしかない場合は最初で、分割するまでパスは終了しません。 …

30
素因数を計算する
私たちは持っていた素因数分解の挑戦をしばらく前に、しかし、その挑戦は、ほぼ6歳で、私は新しいもののためにそれの時間を信じているので、やっと、私たちの現在の要件を満たしています。 チャレンジ 入力として1より大きい整数を取り、その素因数のリストを出力または返すプログラムまたは関数を作成します。 ルール 入力と出力は、任意の標準的な方法と標準的な形式で提供されます。 重複する要因を出力に含める必要があります。 出力の順序は任意です。 入力が2未満又は2以上ではありません31 1 - 。 組み込みは許可されていますが、非組み込みソリューションを含めることをお勧めします。 テストケース 2 -> 2 3 -> 3 4 -> 2, 2 6 -> 2, 3 8 -> 2, 2, 2 12 -> 2, 2, 3 255 -> 3, 5, 17 256 -> 2, 2, 2, 2, 2, 2, …

29
文字列をアルファベット順に並べ替えます
仕事 入力文字列(または文字の配列)が与えられると、その文字列内の文字のあらゆる可能な順列を出力するプログラムを書くことがあなたの目標です。私は自分の出力に精通しているので、重複しないようにアルファベット順にソートする必要があります。 例: 入力: buzz 出力: buzz bzuz bzzu ubzz uzbz uzzb zbuz zbzu zubz zuzb zzbu zzub ルール これはコードゴルフなので、最短のコードが優先されます。 各行の末尾のスペースは問題ありません 最後の行の後の単一の改行が許可されます(それ以上は許可されません)

21
プライマリストリング
プライマリ(binary-prime)文字列とは、バイナリグリッドとして記述されたときに、すべての行と列が総計を持つものです。 それはかなりあいまいな説明ですので、実際の例でそれを分解しましょう... この例では、文字列を使用しますbunny: まず、各文字のASCIIコードポイントとそのバイナリ表現を見つけます。 Char | ASCII | Binary b 98 1100010 u 117 1110101 n 110 1101110 n 110 1101110 y 121 1111001 これらのバイナリ値を上から下に取り、グリッドに配置します(必要に応じて先行ゼロを追加します)。 1 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 …

12
2の2のべき乗の和または差
あなたの挑戦であり、整数与えられた、あなたはそれを受け入れることを選択する必要がありK >= 1、負でない整数を見つけるAとB 、その結果ホールド以下の2つの条件のうち少なくとも1: K = 2^A + 2^B K = 2^A - 2^B そこに、このような存在しない場合AやB、あなたのプログラムは、任意の方法で動作をする場合があります。(明確にするために、AおよびB同等であってもよいです。) テストケース 多くの場合、複数の解決策がありますが、ここにいくつか例を示します。 K => A, B 1 => 1, 0 15 => 4, 0 ; 16 - 1 = 15 16 => 5, 4 ; 32 - 16 = 16; also 3, 3: 8 + …
27 code-golf  math 

11
純度の数
今日は、Collat​​z関数fに関連するシーケンスaを見ていきます。 我々は、フォームのシーケンスを呼び出す...、Z、F(z)は、F(F(z)を)このCollat​​zシーケンス。 最初の数私たちのシーケンスは、(1)は、ある0。fを繰り返し適用すると、サイクル0→0→… まだ見ていない最小の数は1で、a(2)= 1になります。fを繰り返し適用すると、サイクル1→4→2→1→… これで、上のサイクルで数値2が見られたため、次に小さい数値はa(3)= 3で、サイクル3→10→5→16→8→4→2→1→4→2→1に分類されます→… 上記のすべてのサイクルで、すでに4と5を見てきたので、次の数はa(4)= 6です。 ここまでで、アイデアが得られるはずです。a(n)は、すべてのa(1)、…、a(n − 1)の Collat​​zシーケンスの一部ではない最小の数です。 正の整数nを指定するとa(n)を返すプログラムまたは関数を作成します。バイト単位の最短コードが優先されます。 テストケース: 1 -> 0 2 -> 1 3 -> 3 4 -> 6 5 -> 7 6 -> 9 7 -> 12 8 -> 15 9 -> 18 10 -> 19 50 -> 114 (これはOEISシーケンスA061641です。)

30
12時間から24時間のタイムコンバーター
驚くべきことに、この単純なタスクはまだ存在していないようです... あなたの仕事は、入力として12時間の時間を取り、それを「軍事時間」または24時間の時間形式に変換するプログラムを書くことです。 入力は次の形式になります。 HH:MM am/pm わずかなバリエーションが許可されていますが: am / pmと残りの時間を区切るスペースはオプションです。 最後の部分は、「am」/「pm」または「a」/「p」のいずれかです。 大文字でも大丈夫です。 出力は、24時間形式に変換された入力時間になります。数値または文字列を指定できます。 入力と出力の両方について: 最初の0はオプションです。最後の3桁の0は必須です。 時間と分を区切る区切り文字は、「:」、「」(スペース)、またはなしです。 その他の注意事項: 真夜中は0000または2400のいずれかで表現できます。 真夜中は「午前」と見なされ、正午は「午後」と見なされます。 プログラムは関数または完全なプログラムであり、結果を返すか、標準出力に出力する必要があります。末尾の空白は問題ありません。 例(すべての形式をサポートする必要はありません): 12:00am -> 0000 1200 pm -> 1200 1234Am -> 00:34 134a -> 134 01:34PM -> 13 34 1234pm -> 1234 これはコードゴルフであるため、最小バイト数が優先されます。これはビルトインを使用して解決するのは非常に簡単なので、これを手動で解決するコードを見るといいでしょう(ただし、ビルトインの使用は問題ありません)。 明確にするために、考えられるすべての形式をサポートする必要はありません。(選択した)単一の入力および単一の出力形式のみをサポートすることは問題ありません。ただし、上記で概要を説明したようにフォーマットを制限したいと思います(これは既にかなり無料です)。{1134,'pm'}、たとえば、受け入れられません。

16
逆さまのテントを出力する
整数を指定すると、逆さまのテントを出力します。 入力により、テントのサイズ(絶対値)と、入り口が左側(負の数)か右側(正の数)かが決まります。 If input = -1: ____ \/_/ If input = -2: ________ \ / / \/___/ If input = -3: ____________ \ / / \ / / \/_____/ If input = 1: ____ \_\/ If input = 2: ________ \ \ / \___\/ If input = 3: ____________ \ …

30
部分文字列連鎖
前書き この例では、文字列Hello, World!と配列を取りましょう[3, 2, 3]。部分文字列チェーンを見つけるには、次のプロセスを実行します。 配列の最初の数は3、我々はサブ得るので、[0 - 3]あります、Hel。その後3、初期文字列から最初の文字を削除しlo, World!ます。 配列の2番目の数値は2ですので[0 - 2]、新しい文字列から部分文字列を取得しますlo。残りの文字列はになり, World!ます。 最後の数は、3私たちを与えます、, W。サブチェーンは、私たちを与える組み合わせたストリングのすべて、次のとおりです。 ['Hel', 'lo', ', W'] より視覚的な例: [3, 2, 3], 'Hello, World!' 3 -> Hel 2 -> lo 3 -> , W タスク 所与の非空の文字列と非空の配列のみからなる正の整数()、出力ストリングチェーン。配列内のすべての整数の合計が文字列の長さを超えないと仮定できます。> 0 また、文字列に改行が含まれないことも想定できます。 テストケース Input: abcdefghijk, [2, 1, 3] Output: ['ab', 'c', 'def'] Input: …
27 code-golf  string 

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