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

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

19
EOFエラーを取得する最も簡単な方法[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 7か月前に閉鎖。 これは単純で、文字列を含むテキストをSTDERRに出力するだけEOFです。 入出力 入力はありません。ただし、メッセージをSTDERRに出力する必要があります。 ルール これはcode-golfなので、最も短い答えが優先されます。 標準の抜け穴はありません。 標準I / Oによって承認されたメソッドはすべて許可されます。 コードには、エラーでそのまま出力する「EOF」が含まれていない場合があります。 「EOI」の出力は技術的に許可されています。これは、入力を別のファイルと見なすこともできるためです。

9
式を型チェックする
中置式を指定して、すべての定数が同じ型であるかどうかを判別します。 演算子は、これらの2 項演算子のみで構成されます。+-/* プログラムまたは関数は、有効な式文字列を入力として受け取り、式の定数が同じ場合は真の値を出力し、それ以外の場合は偽の値を出力する必要があります。 式は定数のみで構成され、次のタイプのいずれかを含むことができます。 次の形式の文字列"String"(常に二重引用符で囲むことができ、エスケープ文字は使用できません。ASCIIテキストを含めることができます) 次の形式の整数14(常に正またはゼロ) 浮動7.3f小数点数の形式(常に正またはゼロ、常に小数部分があります14.0f) バイト、形式0x42(0-255、常に2つの16進文字) 次の形式のブールtrue(trueまたはfalse、大文字と小文字を区別しない) 型強制が存在しない場合、演算の順序は型に影響しないため、式には括弧が含まれません。 演算子のない単独の定数は有効な式です。 空の式は有効な式ではありません。 式文字列には、文字列リテラルの外側に空白が含まれていないと想定できます。 注:あるいは、テストケースに見られるように、定数と演算子の間に常にスペースがあると想定することもできます。この仮定を行う場合は、回答にそのように指定してください などの無効な式を処理する必要はありません1 +。 得点 これはコードゴルフなので、最も少ないバイト数が勝ちます! テストケース (読みやすくするために空白を追加) 2 + 3 True "Hello" / "World" True true * false True "Hello" + 4 False "Hello" + "4" True 3 + 2.4f / 8 False 0xff * 0xff …

6
中国の数字を変換する
中国語では、数字は次のように表記されます。 1 一 2 二 3 三 4 四 5 五 6 六 7 七 8 八 9 九 10 十 10より大きい数値の場合は、10の数と1の数で表されます。10が1つしかない場合は、明示的に1つと言う必要はありません。10がない場合は、後に何も置く必要はありません。 11 十一 24 二十四 83 八十三 90 九十 100より大きい数値の場合、同じロジックを使用しますが、文字を使用します百。ただし、今回は、100しかない場合でも書き出す必要があり、10がない場合はと言う必要があります零。 100 一百 231 二百三十一 803 八百零三 999 九百九十九 あなたの仕事は、これらの中国の数字をアラビア数字に変換することです。中国語の数値N(一(1)<= N <= 九百九十九(999))を指定して、アラビア数字に変換します。 これはcode-golfなので、バイト数が最も少ないコードが優先されます。
10 code-golf 

6
フォースでのゴルフのコツ
Forth(およびそのクローン)でゴルフをするための一般的なヒントはありますか?Forthに少なくともいくらか特有の一般的なコードゴルフ問題に適用できるアイデアを探しています(たとえば、「コメントの削除」は回答ではありません)。
10 code-golf  tips 

6
Usenet時間での日付は何ですか?
1993年9月は、終わらない9月としてUsenetで知られています。したがって、たとえば、この質問が投稿されている日は、1993年9月8740土曜日です。 プログラムまたは関数は、グレゴリオ暦の日付(正の年を含む)を入力として受け取り、1993年9月より前の場合は出力と同じ日付を返し、それ以降の場合は1993年9月のカレンダーの日付を返します。 YYYY-MM-DD、YYYY / MM / DD、MM / DD / YYYY、DD / MM / YYYY、D-Monthnameabbr-YYYY、または年全体を使用する他の一般的な形式(年モジュロ100)。あなたはあなたが選んだそのようなフォーマットを一つだけ受け入れる必要があります。出力形式は入力形式と一致する必要があります。 入力例→出力例: 2017年8月6日日曜日→1993年9月8741日曜日 1986年1月28日火曜日→1986年1月28日火曜日 または: 2017-08-06→1993-09-8741 1986-01-28→1986-01-28 より興味深い答えのために、この目的のために設計された組み込み関数(UN * X sdateコマンドなど)の使用は許可されていません。それと標準の例外を除いて、これはゴルフなので、最も短い答えが勝ちます。
9 code-golf  date 

3
フィズバズライトイヤー
最近PPCGに投稿されたFizzBu​​zz関連の多くの問題(2つですか?)に直面して、私は自分で考えたくなりました。見よ... フィズバズライトイヤー 整数を取り、15で割り切れる任意の数、3で割り切れる任意の数、5で割り切れる任意の数nを出力するプログラムまたは関数を記述します。すべての出力の後には改行が続く必要があります。しかし、ひねりがあります!FizzBuzzFizzBuzzni 3回おきに印刷するたびにBuzz、バズライトイヤーは最終的にあなたの通話に注意を払い、プログラムのクラッシュを引き起こします。それから彼は自己紹介します-しかし、彼がクラッシュしたので、彼の言ったことのいくつかはあなたのプログラムの出力と混同されます: Buzz Lightyear, Space Ranger, Universe Protection Unit. FizzBuzz Lightyear, Space Ranger, Universe Protection Unit. (つまり、またはに追加 Lightyear, Space Ranger, Universe Protection Unit.します-それ以外に表示したものは何でも。先頭のスペースに注意してください)BuzzFizzBuzz ただし、バズライトイヤーは、彼がそうであるスペースレンジャーであるため、非常に鋭い聴覚を持っているため、印刷FizzBuzzはあなたのBuzz数にカウントされます。 次に、バズは、5で割り切れる別の数値(または、5で割り切れるので15)に到達するまで、その邪悪な出力のすべてからコンピューターを防御します。つまり、もう一度印刷するBuzz(またはFizzBuzz)までは、何も印刷されません。 最終的にその条件に到達すると、バズは出発します。 To infinity and beyond! 出力例 これがために期待される出力ですn = 25。(それは19から16をスキップする方法に注目してください) 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 …
9 code-golf 

3
北朝鮮の辞書順
目的 ハングル音節の文字列を指定して、文字を北朝鮮の辞書順にソートします。 ハングル音節の紹介 ハングル(한글)は、世宗大王によって発明された韓国語の書記体系です。ハングル音節は、UnicodeポイントU + AC00 – U + D7A3で割り当てられます。ハングル音節は、最初の子音、母音、およびオプションの最後の子音で構成されます。 最初の子音は次のとおりです。 ㄱ ㄲ ㄴ ㄷ ㄸ ㄹ ㅁ ㅂ ㅃ ㅅ ㅆ ㅇ ㅈ ㅉ ㅊ ㅋ ㅌ ㅍ ㅎ 母音は次のとおりです。 ㅏ ㅐ ㅑ ㅒ ㅓ ㅔ ㅕ ㅖ ㅗ ㅘ ㅙ ㅚ ㅛ ㅜ ㅝ ㅞ ㅟ ㅠ ㅡ …

6
サブピクセルズーム
あなたの仕事は、24 BPP sRGB画像を取り、同じ画像を赤、緑、青のサブピクセルに3倍に拡大して出力することです。結果の画像は、完全に純粋な黒、赤、緑、青のピクセルで構成されます。 ソース画像の各ピクセルは、ズームされると、オンまたはオフのいずれかである9つのサブピクセルの配置(つまり、それぞれの色または黒)を生成します。特定の配置では、赤、緑、青の3つの列をこの順序で使用します。 (これらの「ピクセル」の境界はデモ用であることに注意してください。) 9つのサブピクセルはそれぞれオンまたはオフにしかできないため、入力画像を量子化し、異なるサブピクセルパターンを使用して3レベルの明るさを実現する必要があります。 画像の各サブピクセル: カラーレベル0〜74の場合、すべてのサブピクセルは黒である必要があります。 色レベル75〜134の場合、中央のサブピクセルはそれぞれの色で、他の2つは黒である必要があります。 カラーレベル135〜179の場合、中央のサブピクセルは黒で、他の2つはそれぞれの色である必要があります。 カラーレベル180〜255の場合、3つのサブピクセルはすべてそれぞれの色である必要があります。 私はこれらのレベル範囲を選択しました この変換を画像のすべてのピクセルに適用し、サブピクセルを拡大した画像を出力します。 シングルピクセルの例 rgb(40、130、175)は、次のパターンを生成します。 rgb(160、240、100)は、次のパターンを生成します。 完全な画像の例 ウィキペディアからの画像 ルールとメモ 入力と出力は、それが実際の画像ファイルであるか、RGB値のリスト(ネストされている可能性がある)であるかに関係なく、任意の便利な形式にすることができます。 ピクセルは24BPPのsRGB色空間にあると想定できます。 幸せなゴルフ!

3
最小コストのフロー問題
フローネットワークは有向グラフであるG = (V, E)ソース頂点とs ϵ Vシンク頂点t ϵ Vすべてのエッジ、および(u, v) ϵ E(ノードを接続グラフ上u ϵ Vとはv ϵ V)それに関連付けられた2つの量を有します。 c(u, v) >= 0、エッジの容量 a(u, v) >= 0、1つのユニットをエッジから送信するコスト 0 <= f(u, v) <= c(u, v)特定のエッジを通過するユニットの数になるように関数を定義します(u, v)。したがって、特定のエッジのコスト(u, v)はa(u, v) * f(u, v)です。最小コスト流問題は、所与の流量のための全てのエッジ上の総コスト最小化するように定義されるd以下の量で与えられるが、。 この問題には次の制約が適用されます。 容量要件:特定のエッジを通過する流れは、そのエッジの容量を超えることはできません(f(u, v) <= c(u, v))。 スキュー対称性:方向が逆の場合、特定のエッジを通る流れは非対称でなければなりません(f(u, v) = -f(v, u))。 フローの節約:シンク以外の非ソースノードへの正味フローは0である必要があります(それぞれについてu ∉ {s, …

6
Notwenが重力をシミュレートするのを手伝ってください!
Notwenは、高い高度から均一な重力場で投げられた物体の運動学を研究したいと考えていますが、残念ながら、彼は落下中に十分に高い場所に行って物体を観察する技術的な可能性を持っていません。しかし、科学の進歩を望んでいないので、Notwenが重力シミュレータを構築するのを手伝いましょう! 物理的背景 均一な重力場で高さ(初期速度なし)から落下したオブジェクトは、抗力や風などの大気の影響を無視して、時間とともに速度を上げて地面に向かって加速します。時間の単位でのこの速度の「変化率」は、重力加速度と呼ばれます。地球の表面近くでは、これはにほぼ等しくなりますが、この課題ではという値を使用します、つまり、1秒でオブジェクトの速度が約増加します。倍数である高さを持つことを検討してくださいhhhG ≈ 9.8 m個g≈ 9.8 m個s2g≈9.8ms2g\approx9.8\frac{m}{s^2}10 メートルs210ms210\frac{m}{s^2}10 メートルs10ms10 \frac{m}{s}hhh100 メートル100m100m100Δの時間K=VKTK+1そして、その高さをそれぞれメートルの長さの等間隔に分割することを想像してみてください。Notwenは、オブジェクトがこれらの各間隔を通過するのにかかる時間を測定する必要があるため、これも計算することを目的としています。現代の運動: - -スキップ専門的でいることを教えてくれる のすべての値に対して私達の場合には、初期であります私たちの開始時速度間隔との持続時間であるで開始索引付け、基準の時間間隔(と100100100Δ 時間k= vktk+ 12gt2kΔhk=vktk+12gtk2\Delta h_k=v_kt_k+\dfrac{1}{2}gt_k^2Δ 時間k≡ Δ H = 100 m個Δhk≡Δh=100m\Delta h_k\equiv\Delta h=100mkkkvkvkv_kk番目kthk^\text{th}tktkt_kk番目kthk^\text{th}000v0= 0v0=0v_0=0Vk個のVK=√)。が次の式を持っていることもわかっています 数値的には、および最初の方程式にプラグインしてを解くと、 オブジェクトは最初の間隔(走行ので)に、第二間隔()で等を(ペーストビンより多くの値を含む)。vkvkv_kvk= 2 g(Δ H0+ Δ H1+ ⋯ + Δ Hk − 1)−−−−−−−−−−−−−−−−−−−−−−−−√= 2gK Δ H−−−−−−√vk=2g(Δh0+Δh1+⋯+Δhk−1)=2gkΔhv_k=\sqrt{2g(\Delta h_0+\Delta h_1+\cdots+\Delta h_{k-1})}=\sqrt{2gk\Delta h}vk= 2000 k−−−−−√メートルsvk=2000kmsv_k=\sqrt{2000k}\frac{m}{s}tktkt_ktk=25–√(k+1−−−−√−k−−√)s(*)(*)tk=25(k+1−k)s\color{red}{\boxed{t_k=2\sqrt{5}\left(\sqrt{k+1}-\sqrt{k}\right)s}}\tag{*}k=0k=0k=04.4721s4.4721s4.4721sk=1k=1k=11.8524s1.8524s1.8524s …

4
有効な修正UTF-8ですか?
UTF-8は、Unicodeに対応していないコードを簡単に混同しないように、可変幅フォーマットでUnicodeコードポイントをエンコードする比較的単純な方法です。 UTF-8の概要 通常、1から0x7Fの範囲のバイトが有効です。 ビットパターンの10XX XXXXあるバイトは継続バイトと見なされ、最下位6ビットがコードポイントの一部のエンコードに使用されます。これらは、先行するバイトで予期されていない限り、表示されないようにする必要があります。 パターンを持つバイトは、110X XXXXその後に1つの継続バイトを期待します パターンのあるバイトは、1110 XXXXその後2つの継続バイトを予期します パターンのあるバイトは、1111 0XXXその後に3つの継続バイトを期待します 他のすべてのバイトは無効であり、UTF-8ストリームのどこにも表示されるべきではありません。5、6、および7バイトのクラスターは理論的には可能ですが、この課題では許可されません。 長すぎるエンコーディング UTF-8では、コードポイントを最小バイト数で表す必要もあります。より少ないバイトで表現できるバイトシーケンスは無効です。変更されたUTF-8は、これに1つの例外を追加し、ヌル文字(U + 0000)をC0 80(16進表記)として表す必要があります)代わりに、ストリーム内のどこかにヌルバイトを表示できません。(これにより、ヌル終了文字列と互換性があります) チャレンジ バイトの文字列が与えられたときに、その文字列が有効なModified UTF-8を表すかどうかを判断し、有効な場合は真の値を、それ以外の場合は偽の値を返すプログラムを作成します。長すぎるエンコーディングとnullバイトをチェックする必要があることに注意してください(これはModified UTF-8であるため)。UTF-8値をデコードする必要はありません。 例 41 42 43 ==> yes (all bytes are in the 0-0x7F range) 00 01 02 ==> no (there is a null byte in the stream) 80 7F 41 …

21
4つの整数を比較し、最大値に基づいて単語を返す
この関数は、4つの整数の入力を(取るべきa、b、c、d)との値は、4つの最大値に等しくれるバイナリワード基づくを返します。 戻り値は〜の間に1なり0xFます。 例えば: a = 6, b = 77, c = 1, d = 4 戻り値2(バイナリ0010; 2番目の最下位ビットのみbが唯一の最大値であることに対応して設定されます) a = 4, b = 5, c = 10, d = 10 戻り値0xC(バイナリ1100; 最大値に対応しc、d最大値に等しい3番目と4番目の最下位ビットセット) a = 1, b = 1, c = 1, d = 1 戻り値0xF(バイナリ1111;すべての値が最大値に等しいため4ビットすべてが設定されます) ここに簡単な実装があります: int getWord(int a, int b, …

1
ダイアディック転置
ほとんどのAPLシンボル⍉と同様に、1つの引数(転置)と2つの引数(2進転置/次元の並べ替え)で呼び出された場合の意味は異なります。この課題は後者に関係します。後者は、numpy.moveaxisPythonまたはpermuteMATLAB と同様に動作しますが、より強力です。 order ⍉ Aorder異なるエントリがある場合 のすべてのメンバーorderが異なる場合order ⍉ Aは、次と同等です。 numpy.moveaxis(A, tuple(range(len(A.shape)), order) Python、または permute(A,order)MATLABで。後者のドキュメントからの引用: B = permute(A、order)は、ベクトルの順序で指定された順序になるようにAの次元を並べ替えます。結果の配列Bの値はAと同じですが、特定の要素にアクセスするために必要な添え字の順序は、orderで指定されたとおりに再配置されます。 たとえばA、3D配列であるとしB ← (2 0 1)⍉Aます。そして、Bは、そのようなことであるB[x0,x1,x2] = A[x2,x0,x1]すべてのためにx2,x0,x1 order ⍉ Aorderエントリが繰り返されたとき orderがエントリを繰り返した場合、配列の対角スライスを取得します。たとえば、Aを2x3x4配列とします。そのようなものを作成するためにB ← (0 0 1)⍉A斜めのスライスをとりAます。これは2x4の配列であることに注意してください。3x4の場合は、の範囲外を設定する必要があります。一般的に、のth次元は、そのようなすべての最小値になります。BB[x0,x1] = A[x0,x0,x1]BB[2, x1] = A[2, 2, x1]AkBA.shape[i]order[i] = k 例 Aが3x4x5 order⍉Aである2項転置を考えorder = [2, 1, 0]ます。 A = [[[ …

4
アスキーアートH木
Hツリーはフラクタルツリー構造であるラインで始まっていること。各反復で、Tブランチがすべてのエンドポイントに追加されます。この課題では、毎秒の HツリーレベルのASCII表現を作成する必要があります。 最初のレベルは、単純に3ハイフンマイナス文字が含まれています。 --- 次のレベルは再帰的に構築されます: 3つのスペースまたは行で区切られた、前のレベルからのコピーの2x2マトリックスを作成します。 コピーの中心をHの形のASCIIアート線で接続します。-水平線、|垂直線、および+線が互いに接触する場合に使用します。 セカンドレベル -+- -+- | | +-----+ | | -+- -+- 第3レベル -+- -+- -+- -+- | | | | +--+--+ +--+--+ | | | | | | -+- | -+- -+- | -+- | | +-----------+ | | -+- | -+- -+- | …

4
カットされた立方体のコーナー、エッジ、面を数える
このサンドボックスの投稿から これは、中学2年生の数学のテストからヒントを得ています はじめに 次の角を持つ立方体があります A(0, 0, 0) B(1, 0, 0) C(1, 1, 0) D(0, 1, 0) E(0, 0, 1) F(1, 0, 1) G(1, 1, 1) H(0, 1, 1) この立方体には、明らかに8つのコーナー、12のエッジ、6つの面があります。コーナーGを切り取り、切断面が隣接する元の各エッジの真ん中を通るようにすると、2つの新しいコーナー、3つの新しいエッジ、1つの新しい面が追加されます。より明確にするために、この手描きの作品をお楽しみください 入力 切り取られるコーナーのリスト(この例ではAHで識別される)を指定して、コーナー、エッジ、面の新しい数を計算します。 同じコーナーに応答する限り、任意の形式で入力を取得できます(たとえば、AHの代わりに1-8または0-7を使用でき、それはリスト、csvなどと見なすことができます) リストは明確であると想定できます(すべてのコーナーが最大で1度表示されます)が、空の場合があります。リストには、存在しないコーナーが含まれることはありません。 出力 コーナー、エッジ、フェースの数に対応する3つの数値を出力します。リストとしての出力は明示的に許可されています。末尾の空白は許可されます 例 {} -> 8, 12, 6 (empty list) {A} -> 10, 15, 7 {A,C} -> …
9 code-golf 

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