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

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

24
非重複文字列
前書き 次の文字列を観察してみましょう。 AABBCCDDEFFGG 手紙を除いて、すべての手紙が複製されていることがわかりEます。それは、手紙Eが重複していないことを意味します。したがって、ここで行う必要があるのは、そのプロセスを逆にすることだけです。これにより、次の重複のない文字列が得られます。 AABBCCDDEEFFGG もっと難しい例を見てみましょう。 AAAABBBCCCCDD 連続したBの数が不均一であることがわかりBBます。つまり、元の文字列の1つが重複していないことを意味します。この手紙の重複を取り消すだけで、次のことができます。 AAAABBBBCCCCDD チャレンジ 空でない所与の重複除外で構成される文字列、英字のみ(どちらかのみ大文字または小文字のみ)、戻り非重複除外文字列。文字列には少なくとも1つの重複排除された文字が常に存在すると想定できます。 テストケース AAABBBCCCCDDDD --> AAAABBBBCCCCDDDD HEY --> HHEEYY AAAAAAA --> AAAAAAAA N --> NN OOQQO --> OOQQOO ABBB --> AABBBB ABBA --> AABBAA これはcode-golfであるため、バイト単位の最短の有効な送信が優先されます!
33 code-golf  string 

30
Notcalc(間違った答えを計算する)
ゴール: 2つの自然数(0から無限大までの整数)が与えられた場合、それらの数の合計ではなく自然数である数値を出力します。 ソリューション例(TI-Basic): A+B+1 not(A+B) 無効なソリューション: A+B-1(入力の0,0場合、それは戻ります-1、これは自然ではありません) "ABC"(ABC数字ではありません) ノート: 出力は常に2つの自然数の合計でなければなりません(実際には単なる自然数です) -1、undefined、infinity、NaNおよびエラーメッセージは自然数ではありません。私たちの目的で0は、これは自然です(ただし、すべての数学者が同意するわけではありません)。

30
ランダムダイティッパーの検証
ほぼ6年前、仲間のPPCGメンバーsteenslag は次の課題を投稿しました。 標準のサイコロ(ダイス)では、反対側の面が7になるように番号が配置されます。ランダムスローに続いて9回のランダムチップを出力する、可能な言語で最短のプログラムを記述します。チップはサイコロの4分の1回転です。たとえば、サイコロが5に面している場合、すべての可能なチップは1,3,4および6です。 望ましい出力の例: 1532131356 だから、今では誰もがそれを完全に忘れており、勝者の答えは長い間受け入れられてきたので、提出されたソリューションによって生成されたダイチップシーケンスを検証するプログラムを書くことになります。(これは理にかなっています。そうするふりをしてください。) チャレンジ あなたのプログラムや関数は このようなシーケンスを与えています1532131356。連続する各桁が以下であることを検証します。 前の数字と等しくない 7から前の数字を引いたものと等しくない (最初の数字を検証する必要はありません。) ルール プログラムは、入力が有効な場合は真実の値を返し、そうでない場合は偽の値を返す必要があります。 入力は1〜6の数字のみで構成され、少なくとも1文字の長さであると想定できます。シーケンスは、steenslagのチャレンジのように固定長になりません。 入力は、文字列("324324")、配列または配列のようなデータ構造([1,3,5])、または複数の引数(yourFunction(1,2,4))として受け取ることができます。 標準のI / Oおよび抜け穴の規則が適用されます。 テストケース 真実の 1353531414 3132124215 4142124136 46 4264626313135414154 6 2642156451212623232354621262412315654626212421451351563264123656353126413154124151545145146535351323 5414142 偽り 繰り返し数字 11 3132124225 6423126354214136312144245354241324231415135454535141512135141323542451231236354513265426114231536245 553141454631 14265411 ダイの反対側 16 42123523545426464236231321 61362462636351 62362462636361

19
素数-1がnで割り切れるようなn番目の素数を見つける
問題 目標は、タイトルがn番目の素数を見つけることで、素数-1がnで割り切れるようにすることです。 説明 質問を理解するための例を次に示しますが、これは必ずしも解決すべき方法ではありません。それは単に質問を説明する方法として 入力として3を指定すると、まずすべての素数を調べます 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 ... 次に、素数-1がn(この場合は3)で割り切れるような素数を選択します 7 13 19 31 37 43 61 67 73 79 97 103 107 109 127 ... 次に、このシーケンスのn番目の用語を選択します 3の入力に対して19を出力します 注意 これは、シーケンス{1、n + 1、2n + 1、3n + 1 …

9
ひし形が本当に欲しかったのですが、得たのはこの愚かな長方形だけでした
直定規とコンパスのみが与えられた場合、与えられた長方形の内側に菱形を刻み、2つの反対の点を共有します。 入力 入力は長方形の寸法です。示されている例では、それはになります125, 50。最も便利な方法(2つの整数、リスト、文字列など)で入力を受け取ることができます。 大きい方の寸法は最小100で、小さい方の寸法は最小25です。両方のキャップは200です。 出力 出力は、画面に表示されるかファイルとして保存される画像です 入力長方形 すべての「作業」線/円 刻まれた菱形 異なる色で。上の画像では、長方形は黒、作業線は青、菱形はオレンジです。線はリストに表示されている順序で描画する必要があります(たとえば、菱形は作業線と長方形を上書きします)。 出力画像は、すべてを含むのに十分な大きさである必要があります。たとえば、表示されている円は範囲を超えることはできません。 方法 上記の画像例で使用されている方法は次のとおりです。 左下隅を中心として、右上を境界上の点として使用して円を描き、長方形の対角線に等しい半径を与えます。 同じことを行いますが、中心点と周辺点を交換します。 2つの円の交点の間に線を引き、長方形の対角線に垂直な二等分線を与えます。 新しい線と長方形の交点を使用して、菱形を描きます。 これは、菱形の内部の対角線が常に互いに垂直に二等分するために機能します。ただし、このことの完全な証拠はここには含めません。 これが菱形を取得する唯一の方法ではなく、あなたが何をしているのかを説明すれば、別の菱形を使用することもできます。おそらく最も簡単だと思います。 ルール 円と線(または線分)のみを描画できます。円は、中心点と周辺点で定義されます。線は任意の2点で定義されます。線は、指定された長さである必要はありませんが、少なくとも定義点をカバーする必要があります(例の画像に注意してください:線は円の交差点を少し過ぎますが、端までは行かない)。円の場合、中心から選択した境界点までの半径は作業線と見なされ、表示する必要があります。 行をラスタライズするには、認識されたアルゴリズム(Bresenhamなど)を使用するか、言語に組み込まれているものに依存します。出力がベクトルベースの場合、少なくともピクセル単位の入力矩形と同じ大きさの解像度で表示されることを確認してください。また、プレーンキャンバスに描画するため、グリッドマークや無関係な出力を抑制してください。 不正行為はありません!これまでに設定したものを使用してのみ、ポイント/ライン/円の配置を決定できます。作業線/円を使用して菱形であることを示す方法を説明できない場合、それは間違っています。 必要な反対のポイントのペアを使用でき、出力が正しい限り、長方形を軸に沿って描画する必要はありません。 入力は常に非正方形の長方形になりますので、特別な場合は心配しないでください。 最後に、これは標準コードゴルフであるため、バイト単位の最小サイズが優先されます。

14
言葉を歩きます!
私の謙虚な意見では、標準的なテキストは退屈です。したがって、私は新しい文章の基準である「歩く言葉」を提案します! 歩く言葉 歩く言葉は、特定のキャラクターに反応する言葉です。このチャレンジの目的のために、トリガーキャラクターは[u, d, r, l]からup down right leftです。 テキストを印刷するときにこのような文字に遭遇するたびに、テキストの方向を移動します。 たとえば、テキストのabcdef結果は次のようになります。 abcd e f ルール 大文字UDRLと小文字の両方でudrl方向を変更する必要がありますが、出力では大文字と小文字を保持する必要があります 入力には印刷可能な文字のみが含まれ(0-9, A-Z, a-z, !@#%^&*() etc...)、改行は含まれません! テキストが衝突するたびに、その位置の古い文字が上書きされます 出力はファッショナブルな問題でユーザーに提示される必要がありますが、単一の出力(行の配列なし) 末尾と先頭の改行が許可されます 末尾のスペースは許可されます 標準的な抜け穴が適用されます テストケース empty input => empty output or a newline u => u abc => abc abcd => abcd abcde => abcd e abcdde => …

14
ピタゴラスのトリプルシーケンス
A ピタゴラストリプルように3つの正の整数、B、及びC、から成る2 + B 2 = C 2。このようなトリプルは一般的に(a、b、c)で記述され、よく知られた例は(3、4、5)です。(a、b、c)がピタゴラスのトリプルの場合、正の整数kの場合も(ka、kb、kc)です。原始的なピタゴラスのトリプルは、a、b、およびcが互いに素であるトリプルです。 この知識を使用して、最小長のトリプルを連結することでシーケンスを作成できます。シーケンスの次の要素は、長さの最小要素として前の要素を含む最小プリミティブピタゴラストリプルの斜辺(最大数)です。 最小のプリミティブピタゴラストリプル(3、4、5)から始めます。シーケンスはで始まり3、斜辺(シーケンスの次の要素)は5です。次に5、足として最小の原始的なピタゴラスのトリプルを見つけて、(5、12、13)を取得します。したがって、シーケンスはに続き13ます。 シーケンスを永久に出力するか、整数入力nを取りn、シーケンスの最初の要素(0または1のインデックス付き)を出力します。 少なくともを含む出力をサポートする必要があり28455997ますが、使用しているデータ型の制限が突然引き上げられた場合、その新しい制限に対応する必要があります。したがって、数字のリストをハードコーディングすることはできません。 3 5 13 85 157 12325 90733 2449525 28455997 295742792965 171480834409967437 656310093705697045 1616599508725767821225590944157 4461691012090851100342993272805 115366949386695884000892071602798585632943213 12002377162350258332845595301471273220420939451301220405 OEIS A239381 同様のシーケンス(これらを出力しないでください!): A018928 A077034(奇数項)

1
ガスケットウィービング-シェルピエスキーノットを描く
N> = 2の整数を指定すると、N次のシェルピスキーノットを示す画像が生成されます。 たとえば、2、3、4、5次のノットがあります。 画像をクリックしてフルサイズで表示します(次数が高いほど画像が大きくなります)。 仕様 次数Nのシェルピエスキーノットは、次数Nのシェルピエスキー三角形の頂点をガイドポイントとして使用して描画されます。次数Nのシェルピエスキー三角形は、より大きな三角形に配置された次数N-1の3つのシェルピエスキー三角形です。次数0のシェルピスキー三角形は正三角形です。 最小のコンポーネント三角形の辺の長さは64であり、ノエルの基になるSierpiński三角形は、 外側の三角形の中心は、画像の中心に配置されます。これは、上部と下部に等しい空白を与えません。 出力は、辺の長さの正方形の画像です。ここではceiling(x)、x以上の最小の整数です。これは、三角形の中心が画像の中心にあるときに、基になるSierpiński三角形の頂点が画像内に含まれるのに十分な大きさです。 単一の曲線は、厳密に交互に上下に通過する必要があります。ソリューションは、アンダーザオーバー、オーバーザアンダー、オーバーザアンダーのいずれかを選択できます。 サンプル画像は、黒い前景と白い背景を示しています。簡単に区別できる2つの色を選択できます。アンチエイリアスは許可されていますが、必須ではありません。 2つの円弧が交わる場所、または曲線がそれ自体の上または下を通る場所に隙間があってはなりません。 出力は、任意のラスター形式の画像ファイル、または正しいデフォルトの表示サイズを含む任意のベクター形式の画像ファイルになります。画面に直接表示する場合は、画面よりも大きいときにスクロールして画像全体を表示できる形式にする必要があります。 アークの中心、半径、厚さの決定 結び目は、接線が平行な点で交わる一連の円弧として構築され、シームレスな結合を提供します。これらの円弧は、環状の扇形(太さのある円弧)として表示されます。 これらの円弧の中心は、最小の逆さまの三角形の頂点です。そのような各頂点は、正確に1つの円弧の中心です。 各円弧の半径は 例外は、3つの最も外側の三角形(大きな三角形の角にある)の円弧の中心が2つの隣接する内側の頂点の中点であり、したがって半径が 各弧は、合計の厚さ(内側半径と外側半径の差)で表され、それぞれの黒い境界線の厚さは、曲線だけでなく、これらの境界線を持つ必要があります。 測定の単位 すべての距離はピクセル単位です(1は2つの隣接するピクセル間の水平または垂直距離です)。 3の平方根は、7つの有効数字に対して正確でなければなりません。つまり、計算は、ROOT3を使用するのと同等である必要があります。1.7320505 <= ROOT3 < 1.7320515 得点 バイト単位の最短コードが優先されます。 不思議な人には、N = 0とN = 1は含まれません。これらは円と三葉に対応しているため、N> = 2に適用されるパターンとは完全には一致しません。この課題へのほとんどのアプローチでは、0と1に特別なケースコードを追加する必要があると予想されるため、それらを省略することにしました。

30
単調さを減らしましょう
...しかし、ちょっと、厳密である必要はありません。 厳密に正の整数の空でない配列が与えられた場合、それが以下であるかどうかを判断します。 単調に厳密に減少します。これは、各エントリが前のエントリよりも厳密に少ないことを意味します。 単調な増加はしませんが、厳密には減少しません。これは、各エントリが前のエントリ以下であり、配列が上記のカテゴリに該当しないことを意味します。 上記のどれでもない。 次のコーナーケースに注意してください。 単一の数値を持つ配列は、単調に厳密に減少します(無意味に減少します)。 同じ数が繰り返された配列は、単調な非増加ですが、厳密には減少していません。 ルール プログラムまたは機能を提供できます 入力は、配列、リスト、スペースで区切られた数字の文字列など、任意の合理的な形式で取得できます。 3つのカテゴリに対してそれぞれ3つの一貫した出力を選択できます。例えば、出力は数値とすることができます0、1、2。または文字列1 1、1 0空の文字列。 バイト単位の最短コードが勝つ テストケース 単調に厳密に減少: 7 5 4 3 1 42 41 5 単調に増加しないが、厳密には減少しない: 27 19 19 10 3 6 4 2 2 2 9 9 9 9 上記のどれでもない: 1 2 3 2 10 9 8 7 12 …

18
テンキーの騎士番号
標準テンキーのゼロ以外の数字の場合 789 456 123 チェスナイトを任意の桁に配置し、通常のL字型ジャンプを何回か実行して、正の10進整数をトレースすることを検討してください。このような方法で表現できる正の整数は何ですか? それらの1つは38、ナイトがスタートして3、左と上に移動できるから8です。381そして383また可能です。 3ジャンプが行われない場合、それ自体が可能です(これは許可されています)。5も同様ですが、から他の数字に到達できない5ため、数字5が表示される唯一の数字です。 正の10進整数(必要に応じて文字列として取得できます)を取り、数値がテンキーの騎士によって記述された方法で表現できる場合は真理値を出力または返すプログラムまたは関数を記述しますが、そうでなければ出力しますfalsy値。 バイト単位の最短コードが優先されます。Tiebreakerは以前の回答です 例 真実: 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 18, 38, 61, 81, 294, 349, 381, 383, 729, 767, 38183, 38383, 18349276, 183492761, 618349276 偽物: 10, 11, 50, 53, 55, 65, 95, 100, 180, 182, 184, 185, 186, …

18
piのn番目の小数を見つける
既にpi専用の30の課題がありますが、n番目の小数を見つけるように1つだけ要求されるわけではありません。 チャレンジ 0 <= n <= 10000表示範囲内の任意の整数の場合、πのn番目の小数。 ルール 小数点以下はすべての数字です 3. あなたのプログラムは機能、または完全なプログラムかもしれません 結果を基数10で出力する必要があります n任意の適切な入力メソッド(stdin、input()、関数パラメーターなど)から取得できますが、ハードコードされていません 選択した言語のネイティブの場合は、1ベースのインデックスを使用できます 無効な入力(n == -1、n == 'a'またはn == 1.5)に対処する必要はありません。 少なくとも 10kの小数までサポートする場合、組み込みが許可されます これは最短のコードであり、最速のコードではないため、ランタイムは関係ありません これはcode-golfで、バイト単位の最短コードが勝ちです テストケース f(0) == 1 f(1) == 4 // for 1-indexed languages f(1) == 1 f(2) == 1 // for 1-indexed languages f(2) == 4 f(3) …
33 code-golf  math  pi 

21
キーストロークをシミュレートする
あなたの仕事は、ユーザーが入力するいくつかのキーストロークをシミュレートすることです。 入力 少なくとも1つの「キーストローク」を含む、選択した区切り文字(範囲32〜126以外)を持つ文字列配列または文字列。 この配列には、パッシブキーストローク(単一の文字)とコマンド(括弧内の文字)の2種類の文字列のみが含まれます[ ]。 パッシブキーストローク ASCII文字コード [32-126] コマンド: [B] :バックスペース(最後に追加された文字がある場合は削除します) [C] :すでに書き込まれたものをすべてコピーします [D] :書き込まれた内容をすべて削除します [P] :コピーされたものを貼り付ける 出力 キーストロークによって生成される文字列。 例 ['H', 'e', 'l', 'l', 'o'] -> 'Hello' ['H', 'e', 'l', 'l', 'o', ' ', '[C]', '[P]'] -> 'Hello Hello ' ['[D]', 'D', '[B]'] -> '' ['H', '[C]', 'i', '[P]', '[C]', …
33 code-golf  string 

5
角かっこを作る
すべてのプログラマーは、括弧[]{}()<>が本当に楽しいことを知っています。この楽しさを悪化させるために、織り込まれたブラケットのグループをキュートでファジーな図に変換できます。 のように、バランスの取れた括弧を含む文字列があるとしましょう[{][<(]})>(())。ステップ1は、弦を時計回りに45度回転させることです。(Mathematicaでは、これはほとんどでできますRotate[ur_string,-pi/4])。最初のステップの結果は次のとおりです。 [ { ] [ < ( ] } ) > ( ( ) ) 次に、各文字の間に斜めのスペースを追加します。 [ { ] [ < ( ] } ) > ( ( ) ) 次に、一番左のブラケットから始めて、ブラケットと犯罪のパートナーとの間に四角形を描きます。 +---+ | | | { | | | +---+ [ < ( ] } ) > ( ( …

30
文字列を伸縮させるプログラムを書く
タイトルにある素敵な動詞。 入力文字列を指定したプログラムを作成し、この文字列を「弾性化」して結果を出力します。文字列の伸縮は、次のように行われます。 最初の文字は一度表示されます。2番目の文字は2回表示されます。3番目の文字が3回表示されます。 ご覧のとおり、特定の文字の重複の量は、文字列での以前の出現とは対照的に、文字のインデックスに関連しています。 印刷可能なASCII文字のみを受け取ることができます。次のリンクに基づいて、これらの文字には10進数値32-126があります。 例: Why: Whhyyy SKype: SKKyyyppppeeeee LobbY: LoobbbbbbbYYYYY (最初のbが3回表示され、2番目のbが4回表示され、合計7つのbになるため、7つのbがあることに注意してください)。 A and B: A aaannnnddddd BBBBBBB 最短バイトが勝ちます:)
33 code-golf  string 

24
この番号はレーシアンですか?
正の整数kは、次の場合、レーシアン数です。 ki*i + j*j + i*jfor i、j整数として表現できます。 たとえば、最初の正のロジアン数は次のとおりです。1(i=1、j=0); 3(i=j=1); 4(i=2、j=0); 7(i=2、j=1); 9(i=-3、j=3); ... は、特定のに対して一意ではないことiに注意してください。例えば、も用いて生成することができます、。jk9i=3j=0 これらの数値の他の同等の特性は次のとおりです。 k表すことができるi*i + j*j + i*jためi、j負でない整数。(整数の各ペアについてi、j同じを与える非負整数のペアがありますk) k六角形のグリッド上でテッセレーションを形成する一連の連続した六角形があります(k = 4およびの図を参照k = 7)。(この特性のため、これらの数値はモバイルセルラー通信ネットワークに適用されます。) シーケンスのOEISページでその他の特性を参照してください。 チャレンジ 正の整数が与えられた場合、それがレーシアン数であれば真の結果を出力し、そうでなければ偽の結果を出力します。 プログラムまたは関数は1000、データ型の制限まで、または1分未満で入力を処理する必要があります。 コードゴルフ。最短勝。 テストケース 次の数値は、真の結果を出力するはずです。 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 次の数値は偽の結果を出力するはずです。 2, 5, 10, 42, 101, 102, 128, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

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