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

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

6
RFC 2550タイムスタンプを計算する
RFC 2550は、任意の日付をサポートできるタイムスタンプのスペース効率のよいASCII表現(1999年4月1日公開)の​​風刺的な提案です(宇宙の始まりより前のものと宇宙の予測された終わりより後のものも含む)。(: -万の手段すべてに0すべての範囲は、開始が含まれるが、最後を除外ノートを次のようにRFC 2550準拠のタイムスタンプを計算するためのアルゴリズムがあります):n0 <= n < 10000 年の形式 0〜10,000年:左にゼロが埋め込まれた4桁の10進数。 年10,000〜100,000:文字Aを前に付けた5桁の10進数。 年100,000〜10 30:年の10 進数。英語のアルファベットのインデックスが10進数の年の桁数から5を引いたものに等しい大文字のASCII文字を先頭に付けます(6桁の年の場合はB、7の場合はC桁の年など)。 年10 30 10 56 10 10,000と同じフォーマット:30、Aとの上に文字を開始し、さらにキャレット(接頭辞^年10ように(文字列に)30で表され^A1000000000000000000000000000000、年が10 31が表されていますによります^B10000000000000000000000000000000)。 年間10 56 10への732:今年は2つのキャレットと文字の大文字2つのASCIIで付けられます。大文字は、年の桁数から57を引いた26を底とする数値を形成します。 年10 732は、以降:10に対して同じフォーマット56 10へ732は、必要な場合、追加のキャレットと大文字を追加して延びる、使用されています。 BCE年(0年より前):年の絶対値の年文字列を計算します。次に、すべての文字を基数26の補数(A <-> Z、B <-> Yなど)に置き換え、すべての数字を基数10の補数(0 <-> 9、1 <-> 8、など)、キャレットを感嘆符(!)に置き換えます。年の文字列が4桁以下(つまり、-1〜-10,000)の場合は、スラッシュ(/)を先頭に追加します。年の文字列の前にスラッシュまたは感嘆符が付いていない場合は、アスタリスク(*)を付加します。 月、日、時間、分、秒:これらの値は最大でも2桁であるため、年の文字列の右側に、重要度の高い順に単純に追加され、必要に応じてゼロで左詰めされます2桁の文字列。 追加の精度:追加の精度(ミリ秒、マイクロ秒、ナノ秒などの形式)が必要な場合、これらの値はゼロで左詰めされ、3桁になります(各値は1/1000前の値であり、最大でであるため999)タイムスタンプの最後に、重要度の高い順に追加されます。 この形式には、対応するタイムスタンプの数値ソートと同等の字句ソートの利点があります-時刻Aが時刻Bの前に来ると、字句ソートが適用されるときにAのタイムスタンプがBのタイムスタンプの前になります。 チャレンジ 任意の長さの数値のリスト(重要度の降順の時間値に対応するなど[year, month, day, hour, minute, second, millisecond])を指定すると、対応するRFC 2550タイムスタンプを出力します。 ルール ソリューションは、任意の入力に対して機能する必要があります。唯一の制限は、時間と使用可能なメモリです。 …
26 code-golf  string  date 

6
プライムの連結
チャレンジ: 数字のみを含む文字列が与えられます。あなたの仕事は、文字列を形成するために連結しなければならない素数の最小数を出力することです。これが不可能な場合、output 0。 テストケース: 入力->出力: 252 -> 3 235 -> 2 92 -> 0 31149 -> 2

30
アルファベットから数字および数字からアルファベット
チャレンジ この課題では、数字を入力として使用し、アルファベットの対応する文字を出力する必要があります。逆も同様です。(1 <=> A、2 <=> B)など。 1 -> A 2 -> B ... 26 -> Z A -> 1 B -> 2 ... Z -> 26 ルール これはcode-golfなので、バイト単位の最短コードが優先されます。 入力のみから大文字のいずれかからなるであろうAとZ、または整数1に26含め。 末尾の空白(スペースと改行)は許可されます。

2
ランレングスエンコーディングのサイクル
1およびを使用して2、バイナリシーケンスを検討します。例: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... そのランレングスを書き留めましょう: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... _ _ ____ ____ _ _ _ ____ 1, 1, 2, 2, 1, 1, 1, 2, ... この場合、別のバイナリシーケンスを取得します。もちろん、それは保証されていません(たとえば、プロセスを繰り返した場合、3回目の実行はになります3)が、そうすると仮定しましょう。 問題は、このタイプのランレングスエンコーディングを複数回適用して元のシーケンスを返すようなシーケンスを見つけることができるかどうかです。サイクル長が1の場合(つまり、この変換の不動点)、オルデンブルガーコラコスキシーケンス(OEISエントリA0000002)が見つかります。 1, 2, 2, …

24
決められた配列の並べ替え
入力: 3つの整数を含む配列:0、1および2任意の順序(つまり[2, 0, 1]) そして、アルファベット文字(小文字と大文字の両方)と数字(つまりa1B2c3)のみを含む長さ2以上の文字列 出力: 配列に基づいて、文字列を並べ替えて出力します。 これはどのように作動しますか? アレイは、の順の優先順位を示しa-z、A-Zそして0-9、第一ビーイング0。第二の存在1; そして3番目の存在2。 文字列の個々の文字は、それに基づいて順序付けることができます。 例: アレイ: [2, 0, 1] 文字列: a1B2c3 配列に基づいて、順序の優先順位がであることがわかります0-9a-zA-Z。 それに基づいて、文字列を変換して出力できます123acB。 チャレンジルール: 配列には、0インデックス付き入力または1インデックス付き入力を使用するように選択できます。したがって、[3, 1, 2]1インデックス付き配列を使用する場合は、有効な入力でもあります。 文字列(入力と出力の両方)には有効な文字のみが含まれます:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789。 お使いの言語がアレイ(またはあなたがすることを選択した場合)をサポートしていない場合は、最初のパラメータ(すなわちのための文字列の代わりに配列を使用するのは自由です012、[0,1,2]など)。 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターを持つ関数/メソッド、完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストへのリンクを追加してください。 また、必要に応じて説明を追加してください。 テストケース: [2, 0, 1] & a1B2c3 -> 123acB [2, 1, 0] & aAaA909UuHWw9gh2 -> 02999AAHUWaaghuw …

6
韻律の列挙
「押韻構成は、」文字の文字列であるaとzから出発して文字の最初の発生が(隙間なく)昇順になるように、、 a。例(最初の出現がマークされている): abccdbebdcfa ^^^ ^ ^ ^ 長さの韻体系の数はベル番号Nによって与えられます B(N)。(OEIS A000110) チャレンジ あなたの仕事は、これらの韻律体系の列挙、すなわち整数から韻律体系への全単射マッピングを実装することです。正の整数N <= 26と負でない整数が与えられます0 <= i < B(N)。または、範囲を使用できます1 <= i <= B(N)。Nすべてiが異なる文字列を生成するように、lengthの韻体系を出力する必要があります。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 小文字または大文字を(一貫して)使用できます。 あなたのコードは、妥当な時間内で有効な任意の入力を処理できなければなりません(例えば、数時間を超えないためN = 26、最悪の場合、i)。これによりN、遅い言語でも指数関数的にスケーリングするソリューション(小さなベースの場合)を許可しますが、線形にスケーリングするソリューションi(つまりB(N))を禁止する必要があります。特に、スキームをN破棄するまで、長さのあるすべての有効なライムスキームを繰り返し処理することはできませんi。 標準のコードゴルフ規則が適用されます。 例 iスキームへの正確な割り当て(つまり、特定のスキームの順序N)はユーザー次第です。ただし、辞書式順序を選択した場合、ソリューションは次の表に対応する必要があります(-無効な入力を示します)。 N\i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 a - - …

21
隣人とビットを交換する
タスクの説明 整数が与えられた場合、すべての整数k> 0の(2k–1)番目と2k番目の最下位ビットを交換します。これは、OEISのシーケンスA057300です。 (数値には、「無限に多くの」先行ゼロがあると想定されます。実際には、これは単に、単一の0ビットを奇数長の数値の前に追加することを意味します。) これはcode-golfなので、最短のコード(バイト単位)が優先されます。 テストケース 0 -> 0 1 -> 2 9 -> 6 85 -> 170 220 -> 236 1827 -> 2835 47525 -> 30298

3
残基番号システム
多数の課題がありますが、これは面白いかもしれません。 この課題では、剰余数システム(RNS)を使用して、大きな整数の加算、減算、乗算を実行します。 RNSとは RNSは、整数を識別するために開発された多くの方法の1つです。このシステムでは、数値は剰余のシーケンス(モジュラス演算後の結果(整数除算後の剰余))で表されます。このシステムでは、各整数には多くの表現があります。物事をシンプルにするために、各整数が一意に表現されるように物事を制限します。具体的な例で何が起こっているかを説明する方が簡単だと思います。 最初の3つの素数、2、3、5を見てみましょう。RNSシステムでは、これら3つの数字を使用して、残基を使用して2 * 3 * 5 = 30未満の数字を一意に表すことができます。テイク21: 21は30未満なので、2、3、および5でモッドした後の結果を使用して表すことができます(つまり、整数を2、3、および5で除算した後の余り) 次の整数シーケンスで21を識別します。 21〜{21 mod 2、21 mod 3、21 mod 5} = {1、0、1} したがって、RNSシステムでは、「21」の代わりに{1,0,1}を使用します。 一般に、整数nが与えられた場合、nは{ n mod 2、...、n mod p_k } として表されます。ここで、p_kは最小の素数であり、nはp_k以下のすべての素数の積より小さくなります。 別の例は、ので、私たちはここに2,3,5,7,11,13を使用する必要があり、我々は3412を持っていると言う2*3*5*7*11*13=30030、一方2*3*5*7*11=2310小さすぎます。 3412〜{3412 mod 2、3412 mod 3、3412、mod 5、...、3412 mod 13} = {0、1、2、3、2、6} このシステムを使用すると、非常に大きな数を比較的簡単に表すことができます。{1、2、3、4、5、6、7、8、...}残基を使用して、最大{2、6、30、210、2310、30030、510510、9699690 ...}までの数を表すことができますそれぞれ。(ここにシリーズがあります) 私たちの仕事 これらの剰余を使用して、多数に対して+、-、および*を実行します。これらのプロセスを以下に説明します。ここでは、入力仕様と出力仕様を示します。 入力 stdinまたは関数の引数を介して2つの(潜在的に非常に大きい)数が与えられます。10桁の文字列として与えられます。 問題をさらに詳しく説明するために、最初の入力nと2番目の入力を呼び出しますm。n> m> …

22
ASCIIアートの反映
この課題では、テキストブロックが与えられ、テキストのリフレクションを実行する必要があります。 入力: 反映される文字列。テキストは、要素がテキスト行である配列として提供されない場合があります。例えば、"ab\ncd"および['a','b','\n','c','d']許可されているが、['ab','cd']か[['a','b'],['c','d']]ではありません。すべての行が同じ文字数(必要に応じて空白が埋め込まれる)であると想定できます。 TrueY反射をFalse示し、X反射を示すブール値 2つの入力は任意の順序で渡すことができます。 出力: 反映された文字列。文字は変更されず、位置のみが変更されます。結果の画像ブロックは左上に揃える必要があります(最初の行と列にはそれぞれ空白以外の文字が含まれている必要があります)。(任意の行の)末尾の空白は許可されます。 テストケース: False o / --|/ | / \ / o /|-- | \ / True o / --|/ | / \ / \ | --|/ o / True text text False text txet True P P C G G C P P False …

2
リポグラム「クイン」
仕事 単一のUnicode文字を入力として使用します。 この仕様にも従うが、入力文字を含まない同じ言語でプログラムを出力します。 プログラムが入力aで実行され、次に出力プログラムが入力bで実行される場合、出力するプログラムは文字aを含むことが許可されます。ただし、bはこのプログラムに表示することはまだ許可されていません。つまり、プログラムの最新の化身への入力のみが表示されることは禁止されています。 タイトルが何を言おうと、標準のクインルールが適用されます。 最短のプログラムが勝ちます。プログラムは少なくとも1バイトの長さが必要です。 例 プログラムがABCDの場合。(#はコメントです) > slangi "ABCD" A EBCD # "FBCD" "JGGJ" "UGDKJGDJK" are all OK > slangi "EBCD" C ABGD # "EBGD" "UIHDAIUTD" are all OK > slangi "ABGD" B AFCD > slangi "AFCD" Z ABCD slangi架空の言語の通訳はどこにありますか。

22
DNAにゴルフテキスト
DNAゴルフへのテキスト チャレンジ 入力をDNA出力に変換します。 アルゴリズム テキストをASCIIコードポイントに変換します(例codegolf-> [99, 111, 100, 101, 103, 111, 108, 102]) ASCIIコードをつなぎ合わせます(例99111100101103111108102) バイナリに変換(例10100111111001101001011010001000011001101011011110000110010111111011000000110) パッドは、0(例えば、文字の偶数個を作るために最後にね101001111110011010010110100010000110011010110111100001100101111110110000001100) 交換する00とA、01とC、10とG、と、11とT(例えばGGCTTGCGGCCGGAGACGCGGTCTGACGCCTTGTAAATA) 出力 テストケース codegolf > GGCTTGCGGCCGGAGACGCGGTCTGACGCCTTGTAAATA ppcg > GGCTAATTGTCGCACTT } > TTGG (padding) 仕様書 これはコードゴルフです プログラムは入力でスペースを受け入れなければなりません。 プログラムはで動作する必要がありcodegolfます。

6
1 + 1 = 10、1 + 2 = 3
基数10と基数2の両方で単純な算術演算(加算、減算、乗算、除算)を実行できる関数またはプログラムを記述します。 この関数は、数式を入力として受け取り、正しいベースで正しい結果を出力します。入力はn、1つまたは複数の演算子(+ - * /)で区切られた数字になります。 すべての入力値に0と1のみが含まれる場合、すべての値はバイナリと見なされます。少なくとも1桁がの場合2-9、すべての値は基数10と見なされます。 ルール: 数字の間に演算子が1つだけあると仮定できます(表示10*-1されません) 括弧がないと仮定できます。 通常の演算子の優先順位(疑問がある場合は、Google計算機で式を試してください)。 整数しか存在しないと仮定することはできません 入力または出力に先行ゼロはありません 有効な入力のみが与えられると仮定できます すべての入力値が正であると仮定できます(ただし、マイナス演算子を使用すると負の出力が可能になる場合が1-2=-1あります10-100=-10) REPLは受け入れられません 入力を個別の引数または単一の引数として選択することもできますが、入力は正しい順序でなければなりません。 つまり、あなたは表すことができる1-2入力引数で1、-、2、ではなく1、2、-。 など+ - * /ではなくplus、入力で記号を受け入れる必要がありますminus。 浮動小数点値をサポートする必要があります(または言語の最大制限まで、ただし整数のみのサポートは受け入れられません)。 eval 受け入れられます 例: 1+1 10 1010+10-1 1011 102+10-1 111 1+2+3 6 10*10*10 1000 11*11*11 11011 10*11*12+1 1321 10.1*10.1 110.01 20.2*20.2 408.04 10/5 2 110/10 11 Also accepted (optional …

1
…そして、メキシコはそれを支払います!
ドナルド・トランプは、このサイトの人々の仕事に非常に感銘を受けています。彼はベン・カーソンを助けるあなたの仕事のすばらしさを知ったので、彼はあなたを雇って彼の壁を建てることさえしました。彼はあなたが素晴らしいと思います。今、彼は再びあなたの助けを必要としています。彼は自分の壁をうまく構築しましたが、今ではメキシコ政府がそれを支払う必要があります。彼は1マイルあたり100万ドルを請求したいと考えており、アメリカとメキシコの国境は1,989マイルの長さであると伝えています。ただし、この数値が正確かどうかはよくわからないため、縮尺どおりの視覚表現も必要です。それがあなたの出番です。あなたはこの地図を取るべきです: そして、境界上のn(50 <= n <= 500)マイルごとに、そのポイントでの境界の傾斜に垂直な25ピクセル長の線を引きます。地図の右側にある縮尺を使用して、100マイル〜50ピクセルであると判断しました。n = 60の最初の3行のサンプルを描画しましたが、これらは概算です。 ノート: 唯一の入力はnです。出力は、線が追加、画面に描画、またはラスターイメージファイルに保存されたマップイメージでなければなりません(元のマップファイルを上書きできます)。 空のマップファイルは、任意のファイル名で保存できます。これはJPEGですが、必要に応じて別の一般的なラスター形式に変換できます。また、寸法を比例させ、線の縮尺を維持している限り、画像のサイズを最大50%縮小できます。 各線は、そのポイントで境界の傾斜に垂直でなければなりません。勾配は、ポイントの50マイル前から開始し、ポイントの50マイル後に終了するように計算する必要があります。 正確さ: 各ラインの勾配には、±5°の誤差がある場合があります 各行の間隔には、±20マイル(通常のマップでは10ピクセル)の誤差がある場合があります。

30
数字を合計し、数字を逆にした
0より大きい数を指定すると、すべての数字(1 .. n)が連結および反転された合計が出力され、それらが加算されます。たとえば、n = 6の場合: 1〜6の数字を連結したもの: 123456 逆に: 654321 これらを合計すると、777777になります。別の例はn = 11です。 1 2 3 4 5 6 7 8 9 10 11 > 1234567891011 そして 11 10 9 8 7 6 5 4 3 2 1 > 1110987654321 それらを一緒に追加すると、になり2345555545332ます。これはA078262としても知られています。 最短のコードが勝ちます!

1
誰かが衰弱しましたか?
防御は、窓から誰かまたは何かを投げる行為です。 — ウィキペディア 入力 入力は2つの部分で構成されます。 フロアプランと家/建物内の人。 v><^は、矢印が示す方向を指している人を表します。入力には1人が含まれます。 -そして|壁を表し、#ウィンドウを表します。 空のスペースです。 入力のこの部分は、単一の文字列または配列/リスト/などとして取得できます。行の。末尾または先頭のスペースはありません。入力は常に長方形になります。 例: -----###--- | | | ^ | ----------- 人が移動する距離(文字数)を示す1以上の整数。 出力 出力は 1人がウィンドウの「内側」にいる場合(つまり、入力で指定された距離だけ前方に移動した後、人はの上にいます#)。 2人が衰弱している場合(a #と連絡を取り、さらに先に進みます)。 3人が壁にぶつかった場合(-またはに接触すると|、壁にぶつかると、人は停止し、壁を通り抜けません)。 0 上記のいずれにも当てはまらない場合(そして、人が行ったことはすべて空の空間を旅することです)。 仮定 次のすべてが真であると仮定できます。 その人は、入力領域の「範囲外」に移動することはありません。 defenestratedされた後、人は他に接触することはありません#か-/ |(あなたがあれば心配する必要はありませんので2 及び 1または3両方真です)。 テストケース 次の「フロアプラン」の場合: ----- | | |###| | | | ^ | In Out 1 0 2 …
26 code-golf  string 

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