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

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

3
アイゼンシュタインの素数を数える
前書き アイゼンシュタイン整数は、次の形式の複素数です。 a+bω a,b整数はどこにあり、 ω = e^(2πi/3) アイゼンシュタイン整数は、複素平面で三角格子を形成します。 2つの非単位の積(1、-1、ω、-ω、ω^ 2または-ω^ 2ではない)として記述できない場合、アイゼンシュタイン整数z=a+bωは素数であると言います プログラム 入力:自然数n。 出力:フォームであるアイゼンシュタインの素数の数a+bωのためには、a,bに等しいかまたはそれ以下(ゼロを含む)である自然数n テストケース 0→0 1→0 2→5 3→9 4→13 5→20 得点 これはcode-golfなので、最小バイト数が優先されます

6
限界税計算機を構築する
定義された税率(特に米国連邦税率)に依存する税率計算機の問題がいくつかありましたが、任意のリストに対してそれを行ったものはありません。 あなたの仕事は、限界税括弧の任意のリストを取り、所定の課税所得に対して支払われる実効税額を計算するプログラムまたは関数を構築することです。 プログラムは入力として受け取ります。 N形式の数値のペア(amt, rate)。それぞれが税の括弧を表します。 amtこれを超えると税率が適用され始める課税所得の金額です。これらの金額はすべて整数で、昇順で表示されます。 rate 税率で、0から100までの10進数のパーセンテージで表されます。 非負の整数としての課税所得の額。 $ 0のレートが指定されていない場合、レートは0%と見なされます。 あるいは、プログラムは、同じ順序で金額とレートを含む2つのリスト(amt1, amt2, ...)とを入力として受け取ることもできます(rate1, rate2, ...)。 あなたのプログラムは、出力が支払うべき税額、いずれか2つの小数点以下の桁数、または丸いへの意志ダウン最寄り全体通貨単位へ。 入力例(基本的な個人税額控除が適用された、2016年からの最新のカナダの税区分のみ): 11474 15 45282 20.5 90563 26 140388 29 200000 33 393216 そしてそれに対応する出力: 108357.07 or 108357 これを行うためのあらゆる言語での最短のプログラムが勝利します。
8 code-golf 

4
お茶の時間です!
前書き しばらく前に私は小さな暗号化アルゴリズム(TEA)を偶然見つけました。それ以来、特別な暗号化セキュリティプロパティが不要で、自己実装が要件であるときはいつでもそれを勧めてきました。 今日は、* tiny *暗号化アルゴリズムという名前を文字通り使用したいと思います。あなたの仕事は、最も小さな暗号化アルゴリズムを実装することです! 仕様 入力 入力は8バイト(または同等の言語)のリストであり、これは平文であり、16バイト(または同等の言語)の別のリストであり、これはkeyです。 10進数、16進数、8進数、または2進数からの入力変換が可能です。1 64ビット、2 32ビットまたは4 16ビット整数を出力として(オプションでリストとして)読み取ることができます(プレーンテキストの場合、キーの数値を2倍にします) 出力 出力は8バイト(または同等の言語)のリストで、これは暗号文です。 10進数、16進数、8進数、または2進数への出力変換は許可されていますが、必須ではありません。 出力として1 64ビット、2 32ビット、または4 16ビット整数を(オプションでリストとして)書き込むことができます。 何をすべきか? あなたの仕事は実装することである暗号化方向の小さな暗号化アルゴリズム(のTEA)、ノートXTEAとXXTEAが他のアルゴリズムです。 ウィキペディアには、Cコードの例と、他の言語でのいくつかの実装への参照のリストがあります。これは元の説明(PDF)です。 より正式に: Let k1, k2, k3, k4, v1, v2, sum be unsigned 32-bit integers. (k1,k2,k3,k4) <- key input (v1,v2) <- plaintext input sum <- 0 repeat 32 times: sum …

2
ニワトリ通訳を書こう!
Chickenというクールな言語のインタープリターを作成する必要があります。 チキンプログラムは、ファイル、標準入力、プログラムまたは関数の引数など、言語にとって最も便利なもの、およびプログラムへの入力から読み取る必要があります。 チキン言語仕様に従ってプログラムを解釈した結果を印刷または返す必要があります。 言語に関する詳細な説明。 鶏肉プログラムの概要 Chickenは、メモリモデル全体を構成する単一のスタックで動作します。命令が実行されると、プログラムはスタックから値をプッシュおよびポップしますが、プログラムがスタックの他の部分を自由に変更できるようにする命令もあります。 スタックには3つのセグメントがあります。 インデックス0および1のレジスター。インデックス0はスタック自体への参照であり、インデックス1はユーザー入力への参照です。主に手順6で使用されます(下記参照)。 ロードされたコード:コードの各行について、このセグメントにはセルがあり、その行には「鶏」の数が含まれています。これには最後に0(プログラム終了のオペコード)が埋め込まれます。 プログラムの実行時に値がプッシュ/ポップされる実際のプログラムスタック。セグメントは分離されていないことに注意してください。つまり、スタックスペースのこのセグメントから自己変更コードを作成したり、コードを実行したりできます。 チキンISA チキンの命令セットは、プログラムの各行に「チキン」という単語が現れる回数に基づいています。空の行はプログラムを終了し、スタックの最上位の値を出力します。 1行あたりの「鶏」の数による鶏の指示セット: リテラル文字列 "chicken"をスタックにプッシュします 上位2つのスタック値を自然数として追加し、結果をプッシュします。 上位2つの値を自然数として減算し、結果をプッシュします。 上位2つの値を自然数として乗算し、結果をプッシュします。 上位2つの値が等しいかどうかを比較し、等しい場合は1を、そうでない場合は0をプッシュします。 次の命令を見て、どのソースからロードするかを決定します。0はスタックからロードし、1はユーザー入力からロードします。スタックのトップは、指定されたソースからロードするアドレス/インデックスを指します。その値をロードしてスタックにプッシュします。これは倍幅の命令であるため、命令ポインタはソースを決定するために使用される命令をスキップします。 スタックのトップは、格納するアドレス/インデックスを指します。その下の値はポップされ、指定されたインデックスでスタックに格納されます。 スタックの先頭は、ジャンプする相対オフセットです。その下の値が正しい場合、プログラムはオフセットでジャンプします。 スタックの先頭をASCIIとして解釈し、対応する文字をプッシュします。 (10 + N)リテラル数n-10をスタックにプッシュします。 例 プログラムは次のとおりです。 chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken (an empty line) (猫のプログラム。前の行に6つの「鶏」があるため、空の行が必要であることに注意してください。) 鶏肉プログラムに提供される入力 …

8
除外可能な数値
整数を指定すると、次のプロパティを使用して10 番目の正数をN出力します。NK のI位置Pの各桁について、3番目の桁(つまり)を削除してK形成される数は、で割り切れる。KPII 例と備考 324 そのような数です: 3 割る 24 2 割る 34 4 割る 32 注1:空の数値は、など、何でも割り切れると想定しています0。したがって1、2、3、4、5、6、7、8及び9有効です。 注2:で 除算できないためK、数字を含める0ことはできません0。 入力と出力 入力を関数の引数としてSTDIN、などを介して受け取ることができます。 関数の出力はSTDOUT、などを介して返すことができます。 これらの番号は、0(どちらの場合N >= 0)または1(N > 0どちらの場合)から、どちらか適切な方からインデックスを付けることができます。 テストケース これらの例はからインデックスが作成される0ため、からインデックスを作成する場合は、列の数値に1追加1しNます。 N Output 0 1 4 5 8 9 15 77 16 88 23 155 42 742 47 1113 121 4244 144 6888 …

8
Numpad Taxicabを計算する
クレジットは、クレジットが期限のある場所に移動します xとyの2桁を指定して、標準のテンキーでxからyに到達するための水平または垂直ジャンプの最短数を計算します。たとえば、 789 456 123 00 すべての入力が0〜9であると想定でき、無効な入力を処理する必要はありません。入力は、距離が0の同じ数値を2回使用できます。 IOは任意の適切な形式にすることができ、標準の抜け穴は禁止されています。バイト単位の最短の答えが勝ちます! サンプルIO: 1, 4: 1 1, 8: 3 3, 7: 4 8, 2: 2 6, 1: 3 0, 9: 4 4, 4: 0 0, 4: 2

7
最大の明確に合計なしのパーティション
関連およびインスピレーションを得た- 合計なしのパーティションを見つける セットがAあるとしてここで定義され、明確合計フリー場合 1)少なくとも3つの要素|A| ≥ 3、および 2)その別個の自己和A + A = { x + y | x, y in A}(x,y別個、つまりx≠y)には、と共通の要素がありませんA。 (廃止- 。。。今後、これを使用していないいくつかの答えは、それを使用している可能性があるため、左はここだけでは上記の条件と一致しない代わりに、方程式はx + y = zのためのソリューションを持っていませんx,y,z ∈ A(再びとのx,y,z明確な、つまり、x≠y、x≠z、y≠z。) ) 簡単な例で{1,3,5}は、は明らかに合計なしですが、そうで{1,3,4}はありません。{1,3}また{3}、少なくとも3つの要素ではないため、そうではありません。 ここでの課題は、特定の入力の最大の明確に合計のないサブセットを見つけることです。 入力 A任意の便利な形式の整数の順序なしセット。 整数は、正、負、またはゼロにすることができますが、言語のネイティブ[int]データ型(または同等のもの)に適合すると想定できます。 セットは、明確な要素のみを持つことが保証されています(ここではマルチセットはありません)。 セットは必ずしもソートされていません。 出力 A(それA自体である可能性がある)の最大のサブセットであり、明らかに合計がありません。出力は任意の適切な形式にすることができます。 そのようなサブセットが存在しない場合は、空のセットまたはその他の誤った値を出力します。 複数のサブセットが最大に関連付けられている場合は、それらの一部またはすべてを出力します。 サブセットは必ずしもソートする必要はなく、入力と同じ順序にする必要もありません。たとえば、入出力の{1,3,5}場合{5,1,3}は許容されます。 追加ルール 標準の抜け穴は禁止されています。 これはコードゴルフなので、すべての通常のゴルフ規則が適用され、最短のコードが優先されます。 例 Input -> Output (any or all) …

3
整数のペアと正の整数の間の1対1の対応
整数のペアと正の整数の間に1対1の対応があることはよく知られています。あなたのタスクは、選択したプログラミング言語で(互いに逆の関数/プログラムのペアを定義することによって)そのような対応を定義するコードを記述し、対応のバイト数が最小の正当性チェック(下記を参照)を行うことです。定義(正当性チェックを考慮しない)。 ソリューションには以下を含める必要があります。 2つの整数引数を持ち、整数を返す関数/プログラムfの定義(全単射の1方向です)。 1つの整数引数を持ち、整数のペア(配列、リスト、何かで区切られた2つの整数の連結など)を返す関数/プログラムgの定義、または2つの関数/プログラムaおよびbのいずれか整数の引数と整数を返します(それが反対方向です)。 上記で定義したfとg(またはfとa、b)について、g(f(x、y))=(x、y)(またはa(f(x、y) )= xおよびb(f(x、y))= y)整数<x、y>の場合、-100 <x <100、-100 <y <100。fおよびgは、外部の値に対して機能する必要があることに注意してください。この範囲の。 もちろん、a、b、f、gの名前を変更できます。2つのソリューションを同じ言語で記述する必要はありません。 以下は、PARI / GPでの最適ではないソリューションで、関数定義に597文字を使用しています。 plane_to_line(x,y)={ my(ax,ay,z); ax=abs(x); ay=abs(y); if((ax<=ay)*(y<0), z=4*y*y-2*y+x+2;); if((ax<=ay)*(y>=0), z=4*y*y-2*y-x+2;); if((ay<=ax)*(x<0), z=4*x*x -y+2;); if((ay<=ax)*(x>=0)*(y<0), z=4*x*x+4*x+y+2;); if((ay<=ax)*(x>=0)*(y>=0),z=4*x*x-4*x+y+2;); if((x==0)*(y==0),z=1;); return(z); } line_to_plane(z)={ my(l,d,x,y); l=floor((1+sqrt(z-1))/2); d=z-(4*l*l-4*l+2); if(d<=l,x=l;y=d;); if((l<d)*(d<=3*l),x=2*l-d;y=l;); if((3*l<d)*(d<=5*l),x=(-l);y=4*l-d;); if((5*l<d)*(d<=7*l),x=d-6*l;y=(-l);); if((7*l<d)*(d<8*l) ,x=l;y=d-8*l;); if(z==1,x=0;y=0;); return([x,y]); } と正当性チェックコード: accu=List([]) m=100; for(x=-m,m,for(y=-m,m,if(line_to_plane(plane_to_line(x,y))!=[x,y],\ …

2
キーロガーの最短コード
さて、私は最短のキーロガーチャレンジを提案します。「キーロガーの質問は許可されていますか?」で紳士が説明したように、この課題をPPCGに適用するには、厳しい規則を課す必要があります。 キーロガーは、Windows、Linux、またはMac OSXで実行する必要があります(任意のプログラミング言語を歓迎します)。 実行時に、「コンソールにログインするか、GUIを使用して」というメッセージを表示する必要があります。 このチャレンジのログインに関連するキーは、文字(大文字と小文字は区別されません)と数字です。その他の記号、コントロールキー、空白などはすべてオプションであり、無視してかまいません。 ランタイム中に発生するすべての関連するキープレス(アプリケーションがフォーカスされていない場合でも)は、ログファイルに保存する必要があります。ログファイルは、テキストエディター(難解なものでも)を使用して読み取りおよび検証できます。そのテキストエディタ)。 誰もがそれに賛成ですか?Whatdayatink?
8 code-golf 

8
逆ギリシャ変換ゴルフ
前書き ギリシャ数字をアラビア数字に変換する関数を作成する必要があります。入力は、より小さい1000およびより大きいギリシャ数字になり0ます。これは私の以前の課題の逆です。 アルゴリズム 手紙に分割入力(例:ΡΚΓ- > Ρ、Κ、Γ) (例えば、各文字を取り、文字への変更は、文字記号のために、下の表で見つかりましたΡΚΓ- > Ρ、Κ、Γ- > 100、20、3)。 追加(例えばΡΚΓ- > Ρ、Κ、Γ- > 100、20、3- > 123) 仕様書 組み込みの数体系変換なし 入力は例のように大文字になります。 出力はベース10でなければなりません。 ΡΡΡΡ決して起こりません。になりますΥ。 テストケース ΡΚΓ -> 123 Η -> 8 ΨΟΖ -> 777 Ρ -> 100 ΧϜ -> 606 ΡϘ -> 190 ΜΒ -> 42 Ν -> 50 テーブル Α …

2
長方形の交点を数える
チャレンジ 任意の量の長方形を指定して、2D平面に描画されたときの長方形の交差の合計数を出力します。 ここでの交点Pは、互いに直交し、どちらもで終わっていない2本の線が交差する点として定義されPます。 例 ここでの各長方形は、最初に左上隅の座標、次に右下隅の座標を持つ2タプルで表されます。 [(-8,6)、(-4、-2)] [(-4,9)、(4,3)] [(2,10)、(14,4)] [(1,7)、(10、-6)] [(7,4)、(10,2)] [(5,2)、(9、-4)] [(-6、-4)、(-2、-6)] これらの長方形は、6つの交差点を作成します。これが出力でなければなりません。 上の画像からわかるように、長方形にタッチしても、ここでは交差が作成されず、カウントされません。 再タグ付けは、任意の形式でエンコードできます。使用する形式を明確にしてください。 複数の長方形が同じ点で交差する場合、それは1つの交差としてのみカウントされます。 座標は常に整数です。 入力に重複する長方形はありません。 入力として常に少なくとも1つの長方形を取得します。 この問題を直接解決するビルトインは使用できません。さらに、方程式を解くビルトインは使用できません。他のすべての組み込みは許可されます。 出力は、交差数を示す単一の整数でなければなりません。 ルール 機能または完全なプログラムが許可されています。 入力/出力のデフォルトのルール。 標準の抜け穴が適用されます。 これはcode-golfなので、最小のバイト数が優先されます。タイブレーカーは以前の提出です。 テストケース 上記の例と同じフォーマット。長方形はリストにラップされます。 [[(-8,6)、(-4、-2)]、[(-4,9)、(4,3)]、[(2,10)、(14,4)]、[(1 、7)、(10、-6)]、[(7,4)、(10,2)]、[(5,2)、(9、-4)]、[(-6、-4)、 (-2、-6)]]-> 6 [[(-2,2)、(6、-4)]]-> 0 [[(-12,10)、(-8,6)]、[(-14,6)、(-10,2)]、[(-10,6)、(-6,2)]]- > 0 [[(-4,10)、(6,2)]、[(-2,8)、(4,3)]、[(1,6)、(8,4)]、[(2,11 )、(5,5)]]-> 10 [[(8,2)、(12、-2)]、[(10,0)、(14、-4)]]-> 2 [[(0,2)、(2,0)]、[(0,1)、(3,0)]]-> 1 [[(-10、-2)、(-6、-6)]、[(-6、-2)、(-2、-6)]、[(-8、-4)、(-4、 -8)]]-> 3 ハッピーコーディング!

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 

8
根を多項式に展開する
チャレンジ スペースで区切られた多項式の根を入力として、多項式の拡張形式を出力します。 たとえば、入力 1 2 この方程式を表します。 (x-1)(x-2) そして出力する必要があります: x^2-3x+2 出力の正確な形式は重要ではありません。 1x^2+-3x^1+2x^0 または: 0 0 0 1x^3+0x^2+0x^1+0 または: 3 14 15 92 1x^4+-124x^3+3241x^2+-27954x^1+57960 スコアリング/ルール eval といいねが許可されていません。 Pythonの任意のバージョンまたは他の言語を使用できます。
8 code-golf 

10
ギリシャ変換ゴルフ
前書き アラビア数字をギリシャ数字に変換する関数を作成する必要があります。入力はより小さい1000およびより大きい整数になり0ます。 アルゴリズム 桁に分割数(例えば123- > 1、2、3) 各桁を取り、文字に変更し、文字記号や文字の名前のために、下の表で見られる(例えば123- > 1、2、3- > ΡΚΓまたはRhoKappaGamma)。 仕様書 組み込みの数体系変換なし 例のように、結果は大文字にする必要があります。 入力はベース10になります。 テストケース 123 -> RhoKappaGamma or ΡΚΓ 8 -> Eta or Η 777 -> PsiOmicronZeta or ΨΟΖ 100 -> Rho or Ρ 606 -> ChiDiGamma or ΧϜ テーブル Α = 1 = Alpha = 913 UTF-8 …

9
ブールパーサーを作成する(続き)
著者がいなくなって質問が終了したため、この課題の継続。 ブールパーサーを作成する必要があります。 ブール式は、まだ聞いたことがない場合に備えて、2つの入力と1つの出力を備えています。 つまり、ブール演算には4つの「ゲート」があります。 OR(で表される|)(2項演算子、引数の間) AND(で表される&)(2項演算子、引数間) XOR(で表される^)(2項演算子、引数間) NOT(で表される!)(単項演算子、右側の引数) これらのゲートは、真(で表される1)または偽(で表される0)の入力に対して動作します。次のように真理値表を使用して、可能な入力(AおよびBこの場合)と出力(O)をリストできます。 XOR A|B|O ----- 0|0|0 0|1|1 1|0|1 1|1|0 OR A|B|O ----- 0|0|0 0|1|1 1|0|1 1|1|1 AND A|B|O ----- 0|0|0 0|1|0 1|0|0 1|1|1 NOT A|O --- 0|1 1|0 入力例はで1^((1|0&0)^!(1&!0&1))、次のように評価されます。 1^((1|0&0)^!(1&!0&1)) =1^(( 1 &0)^!(1&!0&1)) =1^( 0 ^!(1&!0&1)) =1^( 0 ^!(1& 1&1)) =1^( 0 ^!( …

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