タグ付けされた質問 「palindrome」

パリンドロームとは、単語、フレーズ、数字や時間の表現を逆に読んだもの、たとえば「レベル」、「リバイバー」、「12321」、「10:01」です。[balanced-string]タグも参照してください。

30
私は回文です。あなたは?
この質問をするための以前の 試みがいくつかありましたが、どちらもこのサイトの最新の標準に準拠していません。Metaについての議論ごとに、現代のルールセットの下で公正な競争を可能にする方法で再投稿しています。 バックグラウンド 回文は、文字列の逆列自身と同じである。すなわち、「後方同じ前方とを読み込む」という文字列です。ここでは「便利な回文」についてではなく、厳密な文字ごとの反転について説明しています。たとえば、()()回文ではありませんが、そう())(です。 タスク 入力として文字列S(または言語の適切な同等物)を取り、1つの出力Q(選択したタイプの)を持つプログラムまたは関数を作成します。妥当な手段を使用して、入力を取得し、出力を提供できます。 入力Sが回文である場合、出力Qの値はAである必要があります(これはどの回文Sでも同じです)。 入力Sが回文ではない場合、出力Qの値はBである必要があります(非回文Sでも同じです)。 AとBは互いに異なるものでなければなりません。 または言い換えると、すべてのパリンドロームをある値にマッピングし、すべてのパリンドロームを別の値にマッピングします。 さらに、プログラムまたはあなたが書いた関数は、この作り回文自体(すなわち、そのソースコードはパリンドロームでなければならない)、でなければならない制限されたソースの挑戦を。 明確化 けれどもtrueとfalseのための明白な選択であるAとBは、あなたの「回文である」ために任意の二つの異なる値を使用することができますし、ブール値である必要はないの出力、「回文ではありません」。 ここでは、文字レベルで文字列の反転を定義しています。ééUTF-8エンコーディング後のオクテットの回文シーケンスではありませんが、プログラムがUTF-8またはLatin-1でエンコードされているかどうかに関係なく、回文です。 ただし、プログラムに非ASCII文字が含まれている場合でも、ASCII入力に対してのみ機能する必要があります。具体的には、入力Sには印刷可能なASCII文字のみが含まれます(スペースは含まれますが、改行は含まれません)。特に、これは、入力を文字のシーケンスではなくバイトのシーケンスとして扱う場合、プログラムが仕様に準拠する可能性が高いことを意味します(言語のI / Oエンコーディングが非常に奇妙でない限り)。したがって、前の箇条書きの回文の定義は、プログラムが正しい形式であることを確認するときにのみ重要になります。 プログラムの半分をコメントや文字列リテラルに隠しますが、創造的ではありませんが、合法です。あなたは創造性ではなく長さで得点されているので、あなたのプログラムが回文であることを保証するために「退屈な」方法を自由に使ってください。もちろん、あなたは長さで得点されているので、あなたのプログラムの何もしない部分はあなたの得点を悪化させるでしょう。 。 勝利基準はバイト単位で測定されるため、プログラムを記述するエンコードを指定して、スコアリングできるようにする必要があります(多くの場合、どのエンコードを使用しているかは明らかです)。 勝利基準 プログラムはキャラクターレベルでは回文である必要がありますが、バイトを使用して勝者を確認しています。具体的には、バイト単位で測定したプログラムが短いほど優れています。これはコードゴルフの挑戦です。提出物(特に同じ言語の提出物)を比較できるようにするには、提出物のヘッダーにプログラムのバイトカウントを追加します(バイト数と異なる場合は、文字カウントを追加します)。

10
デニス番号を生成する
この挑戦は、プログラミング言語のクイズの強盗の部分を獲得したPPCGユーザーデニスへのオマージュです。 見てみるとデニスのPPCGのプロフィールページ我々はいくつかの非常に印象的なものを見ることができます: 現在、彼の評価は6万8000を超えており、全体で2 位になり、3位をほぼ3万回超えています。彼は最近、新しいモデレーターの選挙に勝ち、彼の名前の隣に輝く新しいダイヤモンドを得ました。しかし個人的には、デニスの最も興味深い部分は彼のPPCGユーザーID番号である12012です。 一見パリンドロームの12012ように見えますが、逆にすると同じ数字になりますが、少しずれています。それは回文になることができ、我々は最初の位置を入れ替えた場合と、それが回文になることができ、我々は最後のスワップ場合とを。また、数字の先頭のゼロが書き込まれないという規則に従って、最初の結果と結果を交換するか、どちらが別の回文です。2101212120211210021122112 デニス数を、回文自体ではなく、任意の2桁の少なくとも1組の位置を交換することで回文にすることができる正の整数として定義しましょう。デニス番号の順序は、パリンドローム(必ずしも区別されない)を作成するために交換できる数字の個別のペアの数です。 だからの順序は12012、その数字の3 3が異なる対である(12012、、)回文を生成するために周りに交換することができます。たまたま最小の3デニス数です。120121201212012 10は最小のデニス数で、順序1を持ちます。これは、1と0を切り替えると、回文である01aka 1が得られるためです。 数字の虚数の先行ゼロは、切り替え可能な数字としてカウントされません。たとえば、回文を取得するために最初の2桁に変更8908し08908て交換すること80908は無効です。8908デニス番号ではありません。 デニス以外の番号の順序は0であると言えます。 チャレンジ 正の整数Nを取り込んで、N番目に小さいデニス数とその順序を、12012 3またはなどの合理的な形式で出力するプログラムまたは関数を作成します(12012, 3)。 たとえば12012、774番目のデニス番号であるため774、プログラムへの入力である場合、出力はのようになります12012 3。(奇妙なことに、774は別のデニス番号です。) バイト単位の最短コードが優先されます。 参照用の最初の20デニス番号とその順序は次のとおりです。 N Dennis Order 1 10 1 2 20 1 3 30 1 4 40 1 5 50 1 6 60 1 7 70 1 8 80 1 9 90 1 …

23
よ少年、それを合計する必要があります
すべての正の整数は、任意ベースで最大で3つの回文正の整数の和として表すことができるBの ≥5。 Cilleruelo et al。、2017 正の整数は、先行ゼロなしでそのベースでの表現が同じ逆方向を読み取る場合、特定のベースでパリンドロームです。以下では、ベースb = 10 のみが考慮されます。 回文数の合計としての分解は一意ではありません。たとえば、5は5、またはの合計として直接表現できます2, 3。同様に、またはとして132分解できます。44, 44, 44121, 11 挑戦 正の整数を指定すると、10を基数とするパリンドロームの3つ以下の正の整数にその合計分解を生成します。 追加のルール 使用されるアルゴリズムは、任意の大きな入力に対して機能するはずです。ただし、プログラムがメモリ、時間、またはデータ型の制限によって制限されている場合は許容されます。 どんな合理的な手段でも入出力を取ることができます。入出力形式は通常どおり柔軟です。 出力形式が明確である限り、各入力に対して1つ以上の有効な分解を生成することを選択できます。 すべてのプログラミング言語で、プログラムまたは機能が許可されます。標準的な抜け穴は禁止されています。 バイト単位の最短コードが優先されます。 例 入力には多くの分解があるため、これらはテストケースではなく例です。各分解は異なる行に表示されます。 Input -> Output 5 -> 5 2, 3 15 -> 1, 3, 11 9, 6 21 -> 11, 9, 1 7, 7, 7 42 -> 22, …

30
ユーザー感謝の課題#1:デニス♦
私は、PPCGコミュニティがすべての人にとって、あるいは多分私だけのために楽しい場所になるのを助け、これからも助けてくれるユーザーの一連の挑戦をするという自発的なアイデアを得ました。:P Dennisの名前を1sと0sの配列に変換すると、各子音がで1あり、各母音がである0場合、配列は[1, 0, 1, 1, 0, 1]であり、対称です。したがって、あなたの課題は、このような他の名前が何かを判断することです。 チャレンジ ASCII文字列を指定して、文字以外のすべての文字を削除し、母音と子音の構成が対称かどうかを判断します。y母音ではありません。 プログラムはこのタイプの文字列である必要はありません。 テストケース Dennis -> truthy Martin -> truthy Martin Ender -> truthy Alex -> falsy Alex A. -> truthy Doorknob -> falsy Mego -> falsy 参照実装 このPython 3コードは、テストケースが与えられると正しい出力を提供します。それはばかげていることなくそれを作ることができたのと同じくらい無制限です。 Python 3 s = input() l = [] for c in s: if …

30
文字列の長さを追加する
チャレンジ: s文字a- z、A- Z、0-の文字列を指定すると9、の長さsをそれ自体に追加し、長さの追加の文字をの全長の一部としてカウントしsます。 入力: 任意の長さの文字列(空にすることもできます)。 出力: 同じ文字列ですが、長さが末尾に追加されます。長さを表す文字も長さの一部としてカウントする必要があります。追加する有効な長さが複数ある場合は、可能な限り短いものを選択してください(例については、テストケースを参照してください)。 テストケース: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input can …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

30
この文字列をdepalindromize!
この課題に従って生成されたパリンドロームを考えると、パリンドロームを除去します。 テストケース abcdedcba -> abcde johncenanecnhoj -> johncena ppapapp -> ppap codegolflogedoc -> codegolf これは脱パリンドロマイズに関するものなので、コードを回文にすることはできません。 これはcode-golfであるため、バイト数が最も少ないコードが優先されることに注意してください。

24
パリンドロームへのダウングレード
文字列を考えるとs、あなたが回文を作成するために削除することができ、最小の連続した部分文字列を返します。 例: 800233008 -> 2 racecarFOOL -> FOOL abcdedcba -> (empty string) ngryL Myrgn -> "L " (or " M") 123456789 -> 12345678 (or 23456789) aabcdbaa -> c (or d) [[]] -> [[ (or ]]) a -> (empty string) ユーザーからのテストケースの提案(記載されていないエッジケースを見つけた場合は、コメントを投稿してください): aabaab -> b | Suggested by Zgarb, some returned "aa". …

30
文字列が回文であるかどうかを判断する最短のコード
回文は、両方の前後に同じように綴られているいくつかの文字列です。たとえば、「エヴァ、洞窟でコウモリを刺すことはできますか?」は回文です(EVACANISTAB | BATSINACAVE) このコードゴルフでは、選択した言語を使用して、特定の文字列が回文であるかどうかを判断します。 エッジケース: 句読点は回文にカウントされません。 制御キャラクターは回文性にカウントされません。 ホワイトスペースは回文性にカウントされません。 数字は回文にカウントされます。 この課題のケースは回文性にカウントされません。 選択する言語によって課されるものを除き、評価する文字列の長さに制限はありません。 この課題では、ASCII文字セットに制限してください。 技術要件: メソッド本体のみが必要です。メソッドの署名、データ構造の宣言などの追加事項は、勝利の要件にはカウントされません。 コードは、コンパイル時エラーまたは例外なしでコンパイルまたは解釈する必要があります。 コードは未処理の例外やクラッシュをスローしてはなりません。(ほぼ言うまでもない。ほぼ。) コードは回文性を示す何らかの値を返さなければなりません。データ型は、使用する言語によって異なります(たとえば、C#ユーザーはを使用するbool場合がありますが、JavaScriptユーザーはを使用できますvar)。 このタスクを「ネイティブ」機能として実行する独自のインタープリターを作成して、ほぼ勝ち取ったスコアを「ゴルフ」することはできません。(言うまでもないことです。) 勝利条件: 文字の最短コードが勝ちです。 現在のリーダー:tmartin(k、25文字) ...によって魔法の緑のチェックマークをしたいあなたの答えは?この男の答えを打ち負かす!

30
この数値は-2の整数乗ですか?
数値が2のべき乗かどうかを判断する賢い方法があります。これはもはや興味深い問題ではないので、与えられた整数が-2の整数のべき乗かどうかを判断しましょう。例えば: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² ルール プログラムまたは関数を作成し、入力を受け取って出力を提供する標準的な方法を使用できます。 入力は単一の整数であり、整数が-2の整数乗である場合は出力が真実の値であり、それ以外の場合は偽の値である必要があります。他の出力(警告メッセージなど)は許可されません。 通常の整数オーバーフロールールが適用されます。ソリューションは、すべての整数がデフォルトで制限されていない仮想バージョン(または実際のバージョン)の任意の大きな整数で動作できる必要がありますが、実装によりプログラムが実際に失敗する場合それほど大きな整数をサポートしていなくても、ソリューションは無効になりません。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 勝利条件 これは、コードとゴルフのコンテストです。(選択したエンコーディングで)バイト数が最も少ない答えが勝者です。

30
グッドネスギザゴルフ!
「ギザ番号」は、口語ではティミー番号とも呼ばれ、数字がピラミッドを表す任意の番号です(A134810)。たとえば、「12321」は次のように視覚化できるため、ギザ番号です。 3 2 2 1 1 ただし、ピラミッドの上部に2桁があるため、「123321」のようなものはギザ番号ではありません 33 2 2 1 1 つまり、次のすべての条件が満たされている場合、数字はギザの数字です。 桁数が奇数で、中央の桁が最大です それは回文的(同じ読み取り前方または後方)であり、 数字の前半は厳密に1ずつ増加しています。(それは回文的でなければならないので、これは数字の後半が厳密に1つ減少しなければならないことを意味します) 入力として正の整数を取る完全なプログラムまたは関数を作成し、それがギザ数であるかどうかを判断する必要があります。入力は文字列または数値として取得できます。それは場合であるギザ番号、出力truthy値。それ以外の場合、偽の値。 合計45のギザ数があるので、これらの入力のいずれかが真実の値になるはずです。 1 2 3 4 5 6 7 8 9 121 232 343 454 565 676 787 898 12321 23432 34543 45654 56765 67876 78987 1234321 2345432 3456543 4567654 5678765 6789876 123454321 234565432 …

15
空を見上げて!それは超大型アレイです!
Code Reviewでライバルの友人から寄せられたこの質問に触発されました。 定義 スーパーアレイは、アレイ内の各新しい要素は、以前のすべての要素の合計よりも大きい配列です。{2, 3, 6, 13}スーパーアレイです 3 > 2 6 > 3 + 2 (5) 13 > 6 + 3 + 2 (11) {2, 3, 5, 11}なぜならスーパーアレイではないからです 3 > 2 5 == 3 + 2 11 > 5 + 3 + 2 大型のアレイは、アレイ内の各新しい要素は、以前のすべての要素の積よりも大きい配列です。{2, 3, 7, 43, 1856}はスーパー配列ですが、それはまた、より大きな配列です 3 > …

9
「便利な回文」チェッカー
これまでに回文コードを記述しようとしたことがあるなら、どれだけの括弧が邪魔になる傾向があるか知っているでしょう。()()、それがあるべきように、それはちょっと見えていても、回文されていない状態())(と()(両方見て非常にダムパリンドロームとの両方です。逆の場合は便利ではないでしょうか? 文字列は、逆の括弧()、括弧()、および中括弧()がすべて反転しているときに導出された文字列と等しい場合、便利な回文です。他のキャラクターは特別ではなく、反転が必要です。(ペアになっていることもありますが、そうではないことが多いため、省略されています。)()[]{}<> あなたの仕事は、あなたの言語で、プログラム(STDINで入力を取得する)または関数(単一の文字列引数を取得する)を書くことです。それ以外の場合、および(b)それ自体は回文的に便利です。 たとえば、次の入力は便利な回文です。 racecar (a)(bb)(a) void main(int argc, *char[] argv) {} (vgra []rahc* ,cgra tni)niam diov そして、以下はそうではありません: non-palindrome A nut for a jar of tuna? (old [style] parens) )snerap ]elyts[ dlo( ingirumimusnocte)etconsumimurigni インタープリター/コンパイラフラグを除き、外部状態(特定のファイル名、ディレクトリ構造、他のユーザー入力、Webアクセスなど)に依存することはできません。 また、使用している言語のコメント機能を利用して、コメントアウトまたは未使用のコードをレンダリングする「コメントトリック」を使用することはできません。たとえば、次のすべては、安全に削除または破棄できる非機能部品が含まれているため、許可されません(便利なパリンドローム性が失われます)。 {some code} // {edoc emos} {some code} NB.BN {edoc emos} "n\" ;{edoc emos} ;"; {some …


9
文字列をひっかく
スナックされた文字列は次のようになります。 T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt あなたのタスク 文字列sとサイズをn取得し、スナックされた文字列を出力します。入力しThisIsAnExampleOfaSnakifiedString、3上記の例を生成します。 仕様書 s コードポイント33から126までのASCII文字のみが含まれます(スペースや改行は含まれません)。 s 長さは1〜100文字です。 n各出力文字列セグメントのサイズを表す整数です。「蛇」の曲線を構成する文字の各行(上/下または左/右)はn文字です。例については、テストケースを参照してください。 n 3〜10になります。 出力文字列は常に下向きになります。 各行の末尾のスペースは許可されます。 出力の最後にある末尾の改行も使用できます。 先行スペースは使用できません。 code-golfは、バイト単位の最短コードが勝つことを意味します。 テストケース a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf 4 …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
196アルゴリズムコードゴルフ
以下のためのショートプログラム書く196-アルゴリズムを。アルゴリズムは整数から始まり、回文に達するまでその逆を追加します。 例えば input = 5280 5280 + 0825 = 6105 6105 + 5016 = 11121 11121 + 12111 = 23232 output = 23232 入力 整数、これはLyrchrel番号ではありません(つまり、無限に継続するのではなく、最終的にこのアルゴリズムで回文を生成します) 出力 回文が届きました。

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