Die Online -Enzyklopädie ganzzahliger Sequenzen (OEIS) ist eine Online-Datenbank ganzzahliger Sequenzen. Es enthält fast 280000 Sequenzen von mathematischem Interesse.
Beispiele für Sequenzen:
Ihre Aufgabe ist es, ein Programm oder eine Funktion zu schreiben, die so viele OEIS-Sequenzen wie möglich mit einem Quellcode von maximal 100 Byte anzeigt . Ihr Programm sollte die Sequenz-ID (ohne die vorangestellten A
und die Nullen) als Eingabe akzeptieren und die 20 ersten Zahlen in dieser Sequenz ausgeben.
Sie dürfen die Daten nicht direkt von der OEIS-Website abrufen. Alle Sequenzen müssen von Ihrem Code berechnet werden.
Wertung
Score ist die Anzahl der OEIS-Sequenzen, die das Programm anzeigen kann. Answers muss die IDs der Sequenzen auflisten, die von ihrem Programm erkannt wurden.
Beispiel
Hier ist eine gültige Antwort in Java 8:
(int a) -> {
for (int i = 0; i < 20; i++) {
System.out.println(a==27?i+1:i*i);
}
};
Dieses Programm kann die positiven ganzen Zahlen (A000027 - Eingabe 27) und die Quadrate (A000290 - Eingabe 290) anzeigen, daher ist seine Punktzahl 2.
Hinweis
Bitte vermeiden Sie es, die gesamte OEIS-Website zu durchsuchen :-) Sie können die Sequenznamen (ca. 3 MB) oder Sequenzwerte (ca. 9 MB) herunterladen. Beachten Sie, dass dieser Download durch den OEIS-Endbenutzer-Lizenzvertrag abgedeckt ist .
Antworten:
CJam (
2182 27803034 Sequenzen)Dies gibt korrekte Antworten für die Inklusivbereiche
[A040000, A040003]
,[A040005, A040008]
,[A040011, A040013]
,A040015
,[A040019, A040022]
,A040024
,[A040029, A040033]
,A040035
,A040037
,[A040041, A040043]
,A040048
,A040052
,[A040055, A040057]
,A040059
,A040063
,[A040071, A040074]
,A040077
,A040080
,[A040090, A040091]
,[A040093, A040094]
,A040097
,A040099
,[A040109, A040111]
,A040118
,A040120
,[A040131, A040135]
,A040137
,A040139
,[A040142, A040143]
,A040151
,[A040155, A040157]
,A040166
,A040168
,[A040181, A040183]
,[A040185, A040968]
[A041006, A041011]
,[A041014, A042937]
A006983
,[A011734, A011745]
,[A023975, A023976]
,[A025438, A025439]
, , , , , , , ,[A025443, A025444]
,A025466
,A025469
,[A034422, A034423]
,A034427
,A034429
,A034432
,A034435
,[A034437, A034439]
,A034441
,A034443
,A034445
,A034447
,[A034449, A034459]
,[A034461, A034462]
,[A034464, A034469]
,A034471
,A034473
,[A034475, A034477]
,[A034479, A034487]
,[A034489, A034490]
,[A034492, A034493]
,A034495
,[A034497, A034512]
,[A034514, A034516]
,[A034518, A034523]
,[A034525, A034582]
,A036861
,A047752
,A052375
,A055967
,A061858
,A065687
,A066035
,A067159
,A067168
,A070097
,A070202
,A070204
,[A070205, A070206]
,A072325
,A072769
,A076142
,A082998
,A083344
,A085974
,A085982
,A086007
,A086015
,A089458
,A093392
,A094382
,A105517
,A108322
A111855
A111859
[A111898, A111899]
A112802
A122180
A129947
A137579
,A159708
,[A161277, A161280]
,A165766
,A167263
,A178780
,A178798
,A180472
,A180601
,A181340
,A181735
,A184946
,A185037
,A185203
,[A185237, A185238]
,[A185245, A185246]
,A185255
,A185264
,A185284
,A191928
,A192541
,A197629
,A198255
,A200214
,A206499
,A210632
,A212619
,[A217148, A217149]
,A217151
,[A217155, A217156]
,A228953
,A230533
,A230686
,A235044
,A235358
,A236265
,A236417
,A236460
,A238403
,[A243831, A243836]
,A248805
,A250002
,A256974
,A260502
,A264668
,A276183
,A277165
,A280492
,A280815
Die
A040???
Sequenzen entsprechen den fortgesetzten Brüchen von nicht-rationalen Quadratwurzeln vonsqrt(2)
bissqrt(1000)
(wobei die Lücken denen entsprechen, die früher in OEIS erscheinen, aber zweckmäßigerweise mit zufälligen Sequenzen gefüllt sind). DieA041???
Sequenzen entsprechen die Zähler und Nenner des Kettenbruch convergents für nicht-rationale Quadratwurzeln vonsqrt(6)
bissqrt(1000)
(mit dem Spalte entsprichtsqrt(10)
, anA005667 and A005668
). Die anderen sortierten Sequenzen haben für ihre ersten zwanzig Werte Nullen.Die Antwort enthält Elemente aus zwei meiner früheren Antworten in GolfScript:
Vielen Dank an xnor für die kurzen, geschlossenen
x -> x + round(sqrt(x))
Zuordnungssequenzen, die den Wert von sqrt kompensieren . Die Einsparungen gegenüber meiner vorherigen Berechnung (Generieren der Liste der Nichtquadrate und Auswählen nach Index) ergaben für die meisten Indizes außerhalb des Bereichs einen Fallback von Null.quelle
n + round(sqrt(n))
?sqrt(n)
aber es ist mir nicht eingefallen, eher auf den nächsten als auf den nächsten zu runden. Das ergibt eine sofortige Einsparung von drei Bytes, die nicht ausreicht, um einen Fallback hinzuzufügen, aber die Hoffnung am Leben erhält.Python 2, 875 Sequenzen
Funktioniert für 875 der Sequenzen 21016 (Dezimalstellen von 1/12) bis 21999 (Dezimalstellen von 1/995).
Ich habe diesen Block mit dem ausgeklügelten Suchalgorithmus gefunden, bei dem ich die Sequenz-IDs willkürlich von Hand eingetippt habe. Einige der Sequenzen im Bereich haben nicht dieses Format und erscheinen an anderer Stelle (danke an Mitchell Spector, der darauf hingewiesen hat). Zum Beispiel ist 21021 nicht die Erweiterung von 1/17.
Auch bei Unterbrechungen werden die Sequenzen für 1 / n als id angezeigt
n+21004
. Der Rest wird nicht verschoben, aber die fehlenden Sequenzen erscheinen an anderer Stelle. Beispielsweise wird 1/17 als 7450 angezeigt .Ich habe diejenigen, die übereinstimmen, anhand einer heruntergeladenen Kopie der Sequenznamen gezählt.
Ein anderer Block gibt 848 Sequenzen von 16742 bis 17664 .
Diese haben alle Form
n -> (a*n+b)^c
, wo2≤a≤12, 0≤b<a, 1≤c≤12
. Der Code extrahiert die Koeffizienten durch Invertieren von Dreieckszahlen und Modulen. Nach wie vor stimmen nicht alle Sequenzen im Bereich überein. Wenn diese beiden Ausdrücke in 100 Bytes passen könnten, gäbe es 1723 Sequenzen.Vielversprechende Stücke:
Hier finden Sie Kategorien für andere potenzielle Chunks, indem Sie die OEIS-Sequenznamen gruppieren, indem Sie alle Zahlen (Ziffern, Minuszeichen, Dezimalpunkt) entfernen. Sie sind nach Anzahl der Auftritte sortiert.
35 Sequenzen:
Arbeiten von 8585 (Vielfache von 3) bis 8607 (Vielfache von 25) und 1018 (Potenzen von 8) bis 1029 (Potenzen von 19). Praktischerweise sind diese alle in einem Block nach ID sortiert.
Dies verwendet nur 65 der 100 erlaubten Bytes und ist noch nicht voll besetzt, also suche ich nach einem anderen netten Teil.
quelle
lambda n:range(0,(n-8582)*20,n-8582)
Bash + Coreutils, 252 Sequenzen
Probieren Sie es online!
Funktioniert mit 252 OEIS-Sequenzen: A000004, A006983, A011734, A011735, A011736, A011737, A011738, A011739, A011740, A011741, A011742, A011743, A011744, A011745, A011775, A011776, A025425438 A034422, A034423, A034427, A034429, A034432, A034435, A034437, A034438, A034439, A034441, A034443, A034445, A034447, A034449, A034450, A034451, A034452, A034453, A034454, A034455, A034456, A034457, A034458, A034459, A034461, A034462, A034464, A034465, A034466, A034467, A034468, A034469, A034471, A034473, A034475, A034476, A034477, A034479, A034480, A034481, A034482, A034483, A034484, A034485, A034486, A034487, A034489, A034490, A034492, A034493, A034495, A034497, A034498, A034499, A034500, A034501, A034502, A034503, A034504, A034505, A034506, A034507, A034508, A034509, A034510, A034511A034518, A034519, A034520, A034521, A034522, A034523, A034525, A034526, A034527, A034528, A034529, A034530, A034531, A034532, A034533, A034534, A034535, A034536, A034537, A034538, A034539, A034540, A034541, A034542, A034543, A034544, A034545, A034546, A034547, A034548, A034549, A034550, A034551, A034552, A034553, A034554, A034555, A034556, A034557, A034558, A034559, A034560, A034561, A034562, A034563, A034564, A034565, A034566, A034567, A034568, A034569, A034570, A034571, A034572, A034573, A034574, A034575, A034576, A034577, A034578, A034579, A034580, A034581, A034582, A036861, A047752, A052375, A055967, A061858, A065687, A066035, A067159, A067168, A070097, A070202, A070204, A070205, A070206, A072325, A072769, A076142, A082998, A083344, A085974, A085982, A086007, A086015, A089458, A0855111792, A094382, A10551118, 93392A111899, A112802, A122180, A129947, A137579, A159708, A161277, A161278, A161279, A161280, A165766, A167263, A178780, A178798, A180472, A180601, A181340, A18174618518, 518 A185255, A185264, A185284, A191928, A192541, A197629, A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A218953, A2217155, A217156 A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A23538363 A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A23538363 A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815
quelle
Python (mit Sympyie),
144146 SequenzenDie Funktion
f
funktioniert für die 146 Sequenzen A016578 bis einschließlich A016723 .Alle diese werden vom Testkabelbaum bei repl.it ausgegeben .
Die 49 Sequenzen A016578 bis A016626 einschließlich sind die Dezimalerweiterungen von log (3/2), log (5/2), log (7/2), ..., log (99/2).
Die 97 Sequenzen A016627 bis A016723 einschließlich sind die Dezimalerweiterungen von log (4), log (5), log (6), ..., log (100).
Die ersten beiden der 49 beginnen mit der ersten Dezimalstelle, da die Protokollwerte für sie kleiner als 1 sind , sodass
[-20:]
die nachfolgenden 20 Dezimalstellen des Ergebnisses des Aufrufs verwendet werden, zu...n(20)
dem 20 signifikante Ziffern gelangen. Dasif'.'<c
filtert das Dezimalstellenzeichen heraus undint(c)
wandelt jedes verbleibende Ziffernzeichen in eine Ganzzahl um (obwohl dies möglicherweise nicht erforderlich ist).quelle
Jelly,
11271975 Sequenzen- Hier werden derzeit die Ergebnisse von xnor und Mitchell Spector zusammengefasst , es besteht jedoch noch ein gewisser Spielraum für ein Wachstum von 78 Byte. Geh und gib ihnen etwas Ehre!
TryItOnline!
Die 1975 Sequenzen sind:
[16000,21999]
);(a*n+b)**c
Formel entsprechen (das Verhalten für die Eingabe in[16000,17999]
); und1/n
(dem Verhalten für die Eingabe in[18000,21999]
) übereinstimmen .Wie?
quelle
Mathematica,
39173189 SequenzenInspiriert von Jonathan Allans Antwort .
Funktioniert für:
{0, 1, 2, ... , 19}
)quelle
CJam, 1831 Sequenzen
Dies gibt die korrekte Ausgabe für 199 beginnende Sequenzen
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
und alle Sequenzen in den Inklusivbereichen[A168680, A169579]
und aus[A170000, A170731]
. Der Großteil davon befasst sich mit diesen beiden Bereichen, mit einem Fallback für alle Nullen vor dem Start des ersten Bereichs.Die beiden fraglichen Bereiche haben die Form
für Werte vonP von 3 zu 50 und Werte von Q. von 17 zu 50 . Ihre Erzeugungsfunktionen sind in einer durch und durch ineffizienten Weise gegeben: Ich fand es nützlich, Zähler und Nenner mit zu multiplizieren( t - 1 ) geben gf
quelle
Batch, 62 Sequenzen
Nur ein Block von Sequenzen zu implementieren war schwierig, aber ich schaffte zwei in 89 Bytes! Erläuterung: Für einen Parameter
%1
von 8585-8607 wird22956-%1>>16
null zurückgegeben, wodurch der(22956-%1)
Ausdruck ignoriert wird. Am Ende multiplizieren wir die Schleifenvariable mit 3-25, während für einen Parameter von 22958-22996 minus eins zurückgegeben wird, wodurch der Ausdruck erzeugt wird negiert, während dern|
Multiplikationsfaktor durch minus eins ersetzt wird , wodurch die Schleifenvariable effektiv subtrahiert wird.quelle
PHP , 28 Bytes, 33 Sequenzen nehme ich an
Probieren Sie es online!
https://oeis.org/A000004 0 https://oeis.org/A007395 2 https://oeis.org/A010701 3 https://oeis.org/A010709 4 https://oeis.org/A010716 5 https://oeis.org/A010722 6 https://oeis.org/A010727 7 https://oeis.org/A010731 8 https://oeis.org/A010734 9 https://oeis.org/A010692 10 https://oeis.org/A010850 11 https://oeis.org/A010851 12 https://oeis.org/A010852 13 https://oeis.org/A010854 15 https://oeis.org/A010855 16 https://oeis.org/A010857 18 https://oeis.org/A010859 20 https://oeis.org/A010861 22 https://oeis.org/A010863 24 https://oeis.org/A010871 32
quelle