L' Encyclopédie en ligne des séquences entières (OEIS) est une base de données en ligne de séquences entières. Il contient près de 280000 séquences d'intérêt mathématique.
Exemples de séquences:
Votre tâche consiste à écrire un programme ou une fonction qui affiche autant de séquences OEIS que possible, avec un code source de 100 octets maximum. Votre programme devrait accepter comme entrée l'ID de séquence (sans le préfixe A
et les zéros) et sortir les 20 premiers nombres de cette séquence.
Vous n'êtes pas autorisé à récupérer les données directement à partir du site Web d'OEIS; toutes les séquences doivent être calculées par votre code.
Notation
Le score est le nombre de séquences OEIS que le programme peut afficher. Les réponses devront lister les identifiants des séquences reconnues par leur programme.
Exemple
Voici une réponse valide en Java 8:
(int a) -> {
for (int i = 0; i < 20; i++) {
System.out.println(a==27?i+1:i*i);
}
};
Ce programme peut afficher les entiers positifs (A000027 - entrée 27) et les carrés (A000290 - entrée 290), donc son score est de 2.
Remarque
Veuillez éviter de gratter tout le site Web d'OEIS :-) vous pouvez télécharger les noms de séquence (environ 3 Mo) ou les valeurs de séquence (environ 9 Mo). Notez que ce téléchargement est couvert par le contrat de licence d'utilisateur final OEIS .
Réponses:
CJam (
2182 27803034 séquences)Cela donne des réponses correctes pour les plages inclusives
[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
Les
A040???
séquences correspondent aux fractions continues de racines carrées non rationnelles desqrt(2)
àsqrt(1000)
(avec les lacunes correspondant à celles qui apparaissent plus tôt dans OEIS, mais commodément remplies de séquences aléatoires). LesA041???
séquences correspondent aux numérateurs et dénominateurs des convergents de fraction continue pour les racines carrées non rationnelles desqrt(6)
àsqrt(1000)
(avec l'écart correspondant àsqrt(10)
, àA005667 and A005668
). Les autres séquences assorties ont des zéros pour leurs vingt premières valeurs.Les éléments de réponse de ports de deux réponses précédentes à moi dans GolfScript:
Un grand merci à xnor pour la courte
x -> x + round(sqrt(x))
séquence de mappage de formulaires fermés qui compense la valeur de sqrt. Les économies par rapport à mon calcul précédent (génération de la liste des non-carrés et sélection par indice) ont fourni suffisamment pour avoir un repli entièrement nul pour la plupart des indices hors plage.la source
n + round(sqrt(n))
?sqrt(n)
mais je n'ai pas pensé à arrondir au plus proche plutôt qu'au bas. Cela donne une économie immédiate de trois octets, ce qui n'est pas tout à fait suffisant pour ajouter un repli mais maintient l'espoir en vie.Python 2, 875 séquences
Fonctionne pour 875 des séquences 21016 (chiffres décimaux de 1/12) à 21999 (chiffres décimaux de 1/995).
J'ai trouvé ce morceau avec l'algorithme de recherche sophistiqué de la saisie au hasard des identifiants de séquence à la main. Certaines séquences de la gamme ne sont pas de ce format et apparaissent ailleurs (merci à Mitchell Spector de l'avoir signalé). Par exemple, 21021 n'est pas l'expansion de 1/17.
Même avec les interruptions, les séquences pour 1 / n apparaissent comme id
n+21004
. Le reste n'est pas décalé, mais les séquences manquantes apparaissent ailleurs. Par exemple, 1/17 apparaît comme 7450 .J'ai compté ceux qui correspondent en utilisant une copie téléchargée des noms de séquence.
Un bloc différent donne 848 séquences de 16742 à 17664 .
Tout cela a une forme
n -> (a*n+b)^c
, où2≤a≤12, 0≤b<a, 1≤c≤12
. Le code extrait les coefficients via des nombres triangulaires inverses et des modules. Comme précédemment, toutes les séquences de la plage ne correspondent pas. Si ces deux expressions pouvaient tenir dans 100 octets, cela donnerait 1723 séquences.Morceaux prometteurs:
Voici des catégories pour d'autres morceaux potentiels, en regroupant les noms de séquence OEIS en supprimant tous les nombres (chiffres, signe moins, point décimal). Ils sont triés par nombre d'apparitions.
35 séquences:
Fonctionne de 8585 (multiples de 3) à 8607 (multiples de 25) et 1018 (puissances de 8) à 1029 (puissances de 19). Idéalement, ces éléments sont tous regroupés en un seul morceau, classés par id.
Cela n'utilise que 65 des 100 octets autorisés et n'est pas encore entièrement joué, donc je vais chercher un autre morceau sympa.
la source
lambda n:range(0,(n-8582)*20,n-8582)
Bash + coreutils, 252 séquences
Essayez-le en ligne!
Fonctionne sur 252 séquences OEIS: A000004, A006983, A011734, A011735, A011736, A011737, A011738, A011739, A011740, A011741, A011742, A011743, A011744, A011745, A023975, A02, A04, A0 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, A034511, A03453A034518, 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, A093392, A094382, A105517, A188A111899, A112802, A122180, A129947, A137579, A159708, A161277, A161278, A161279, A161280, A165766, A167263, A178780, A178798, A180472, A180601, A181340, A181735, A184924 A185255, A185264, A185284, A191928, A192541, A197629, A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A2302362 A2402 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, A236460, A2384024 A24 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, A236460, A2384024 A24 A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815
la source
Python (avec sympy),
144146 séquencesLa fonction
f
fonctionne pour les 146 séquences A016578 à A016723 inclus.Tous ces éléments sont émis par le faisceau de test à repl.it .
Les 49 séquences A016578 à A016626 inclus sont les extensions décimales de log (3/2), log (5/2), log (7/2), ..., log (99/2).
Les 97 séquences A016627 à A016723 inclus sont les extensions décimales de log (4), log (5), log (6), ..., log (100).
Les deux premiers des 49 commencent à la première décimale car leurs valeurs logarithmiques sont inférieures à 1 , de sorte que le
[-20:]
prend les 20 décimales de fin du résultat de l'appel à...n(20)
laquelle obtient 20 chiffres significatifs. Leif'.'<c
filtre le caractère décimal etint(c)
convertit chaque caractère numérique restant en un entier (bien que cela ne soit peut-être pas nécessaire).la source
Jelly,
11271975 séquences- ceci combine actuellement les résultats de xnor et Mitchell Spector , mais a encore une certaine marge de croissance à 78 octets. Allez leur donner du crédit!
TryItOnline!
Les séquences de 1975 sont:
[16000,21999]
);(a*n+b)**c
formule (le comportement pour l'entrée dans[16000,17999]
); et1/n
(le comportement pour l'entrée dans[18000,21999]
).Comment?
la source
Mathematica,
39173189 séquencesInspiré par la réponse de Jonathan Allan .
Fonctionne pour:
{0, 1, 2, ... , 19}
)la source
CJam, 1831 séquences
Cela donne une sortie correcte pour 199 séquences commençant
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
et toutes les séquences dans les plages inclusives[A168680, A169579]
et[A170000, A170731]
. Le gros de celui-ci concerne ces deux plages, avec un repli pour les zéros avant le début de la première plage.Les deux gammes en question ont la forme
la source
Lot, 62 séquences
L'implémentation d'un seul bloc de séquences a été difficile, mais j'en ai réussi deux en 89 octets! Explication: Pour un paramètre
%1
de 8585-8607,22956-%1>>16
renvoie zéro, ce qui entraîne l' ignorance de l'(22956-%1)
expression et nous finissons par multiplier la variable de boucle par 3-25 respectivement, tandis que pour un paramètre de 22958-22996, il renvoie moins un entraînant l'expression. nié, tandis que len|
fait que le facteur de multiplication soit remplacé par moins un en soustrayant effectivement la variable de boucle.la source
PHP , 28 octets, 33 séquences, je suppose
Essayez-le en ligne!
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
la source