整数シーケンスのコードワード


15

前書き

パレイドリア:古代ギリシャ語から。παραpara、「並行、並行」)+ εἴδωλον eídōlon、“ image”)。あいまいな刺激を、火星のマークを運河として解釈する、雲の形を見る、音楽の隠れたメッセージを聞くなど、観測者に知られている何かとして解釈する傾向。出典:ウィクショナリー

例えば:

ここに画像の説明を入力してください

Paralogia:古代ギリシャ語から。παραpara、“ concurrent、alongside”)+ λόγοςlógos、“ speech、oration、word、...”)。コードゴルフプログラムなど、文字の任意のシーケンスで単語を知覚する傾向。ソース:ええ、私はそれを作りました(実際には、@ Martinが指摘したように、この単語は何か他のものを意味します)。

例えば:

    df4$/H)hEy_^p2\
    jtK2$)look|x1$

チャレンジ

入力として正の整数を取り、出力として整数を生成し、コードの一部として英語の単語を含むプログラムを作成します。入出力関係は、OEISにある整数シーケンスに対応する必要があります。

ルール

  • このリストの単語のみが許可されます。これは明らかにarbitrary意的ですが、どの単語が受け入れられるかについて全員が同意することが不可欠です。その点で、このリストはおそらく他のリストと同じくらい優れています。
  • 少なくとも2つの関数名またはステートメントを連結して単語を形成する必要があります。たとえば、言語に呼び出される関数がある場合、correlationそのまま使用することはできません。連結は厳密である必要があります。単語の各部分の間に他の記号は表示されません。たとえばbro~ken、単語としてカウントされません。
  • ケースは重要ではありません:両方validvaLiD許容されています。
  • 文字列内の単語はカウントされません。単語を構成する文字は、選択した言語の関数またはステートメント、つまり実際に実行されるものである必要があります。たとえば、次のコードは許可されません。'deoxyribonucleic'~1'...'は文字列で~、以前のコンテンツを破棄し、1数値を出力するだけです1
  • 言葉のすべての文字が必要なはずですです。これは、単語から単一の文字を削除すると、入出力関係が変更されることを意味します。それには、異なるシーケンスの出力、他の出力、出力の生成、エラーの発生が含まれます。
  • 任意の正の整数入力として受け入れなければならず、データ型またはメモリ制限を除いて、出力を生成するべきです。
  • 入力に対応する出力は123、...に現れる配列に対応している必要がありOEIS。他の出力は生成されません。整数のみ。末尾または先頭に空白がある場合があります。
  • 入力と出力は、関数の引数またはstdin / stdoutです。

スコア

スコアは、合計コード長から最長ワードの長さの2倍を引いた文字数で計算されます。または同等に、非最長単語の文字数から最長単語の長さを引いたもの。

最低スコアが勝ちます。

これらの機能を持つ架空の接尾語を考えてみましょうcAt:平方を計算します。$:1を追加します。

cAt有効なプログラムになります(シーケンスへの出力対応を149、...、であるA000290)、およびそれがスコアを持っているでしょう-3。

cAt$また有効です(シーケンス2510であり、...、A002522スコア)-2。

c$At ここでの唯一の単語は「At」であり、単一の関数またはステートメントによって生成されるため、有効ではありません。


これは人気コンテストになると思います。
MCMastery

5
@MCMasteryこれは、人気のあるコンテストにはなりません。(ほとんどの課題はそうではありません。)
アレックスA.

ただし、これは基本的にゴルフ言語に限定されています。
ericw31415

回答:


11

CJam、-20

COUNTErREVOLUTIONARIES],

シーケンスA010861の n番目の要素を出力します。

COUNTE                      e# push values of six preinitialized variables
      r                     e# read a token of input
       REVOLUTIONARIES      e# push values of 15 other preinitialized variables
                      ]     e# wrap whole stack in array
                       ,    e# get length

単語から文字を削除すると、まったく異なるシーケンスA010860になります。2つのシーケンスの間には非常に興味深い関係があります。すべてのインデックスnで、A010860(n)互いに素であるとA010861(n)!これには、数学的深い理由が必要です。

ここで試してみてください


1
別の奇妙な数学的関係を発見しました。A010861シーケンスからA010860シーケンスを引くと、結果は常にすべてのインデックスで1になります!魅惑的な...
ドアノブ

これは勝つのが難しいだろう:-)
ルイスメンドー

ああ、大文字。素晴らしいアイデア:)
マーティン・エンダー

10

CJam、-5

limpet;

A0100510合成数および1素数の印刷。

数ポイントを獲得し、手紙を削除すると壊れるようなものを見つけるのに私は永遠にかかりました。以外mを削除するとエラーがスローmされ、削除するとプログラムが恒等関数になります。

li  e# Read input and convert to integer.
mp  e# Check for primality.
et  e# Get current datetime as a list.
;   e# Discard the datetime again.

オンラインでお試しください。


シーケンスの美しい選択!:-)
ルイスメンドー


6

MATL、-6

INhale

オンラインでお試しください!

生成シーケンス123、...(A000027

文字を削除すると、出力が変更されたり、存在しない2番目の入力をプログラムが予期したり、エラーが発生したりします。

説明

このプログラムは単に数を吸い込み、いじくり回した後、そのまま吐き出します。

I    % produces number 3
N    % number of elements in stack: produces number 1
h    % concatenates horizontally into array [3, 1]
a    % true if any element is nonzero. So it gives true (or equivalently 1)
l    % produces number 1
e    % triggers implicit input and reshapes into a 1x1 array. So it leaves input unchanged

5

パイス、1

*QhSatan0000
   Satan

説明?

       n00   - 0 != 0 (0) 
      a   0  - abs(^-0) (0, Required so it doesn't print out a random 0)
     t       - ^-1 (-1, required or will output 0 all the time)
    a      0 - abs(^-0) (1, Required so counts in right direction, would also print out a random 0)
   S         - 1-indexed range ([1], required so next command works properly)
  h          - Get the head (if `S` missed, will out 2)
*Q           - Multiply by Q

1、2、3、4、5 ...

シーケンスA000027

サブリミナルメッセージ?決して。

ここで試してみてください。


4

Japt、-6

NuLLIFIED)r^

出力A004453:Nおよび12のnimsum(N XOR 12)。オンラインでテストしてください!

注:OEISシーケンスには0がインデックス付けされているため、0を入力すると最初の項目が作成されます。

使い方

        // Implicit: N = array of inputs
Nu      // Push the following things to N:
LLIF    // 100, 100, 64, 15,
IED     // 64 again, 14, and 13.
)r^     // Reduce by XORing (using ^ between each pair)
        // The reduction goes as follows: U, U^100, U, U^64, U^79, U^15, U^1, U^12.

いいね!可能な説明はありますか?
ルイスメンドー

@LuisMendoはい、できました。それは信じられないほど簡単ですが、私はまだもっと複雑なものを見つけていません。
-ETHproductions

@LuisMendoが更新されました。これはもう少し面白いです。
ETHproductions

確かに!しかし、明らかに削除Yすると同じ出力が生成されますか?(私が何か間違ったことをしていない限り)
ルイスメンドー

@ルイスこれは良いですか?
ETHproductions

3

ヘッドデッキ、スコア-4

exit

これはBrainfuckプログラムにマッピングされ,+-.ます。Brainfuckプログラムは、単一の文字を読み取り、それを印刷してA000030を計算します。文字を削除すると、明らかにそれが壊れます。

marshal,-<>+-.)もありますが、これは実質的,-.にですが、どのOEISシーケンスにも対応していません。


2

x86マシンコード、スコア-4

コードのHexdump:

53 51 55 41 53 68 69 65 73 74 51 58 83 c4 14 c3

または、コードページ437で

SQUAShiestQXâ─¶├

アセンブリコード:

push ebx
push ecx
push ebp
inc ecx
push ebx
push 0x74736569
push ecx
pop eax
add esp, 0x14
ret

引数に1を追加する関数。

削除Aすると、アイデンティティ関数に変わります。他のバイトを削除するとスタックが混乱し、呼び出し関数のクラッシュまたは不正な動作が発生します。

スコアを改善することは可能ですが、要件の解釈に依存する可能性があります。たとえば、単語SQUEAMIShnessを使用すると、ebpレジスタが増加し、減少するプログラムが得られます。これらのいずれかを削除するとクラッシュしますか?最も単純なテストプログラムはebpレジスタを使用しないので、おそらく使用しないでしょう。



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