Ceci est un flic et des voleurs si vous n'êtes pas familier avec le format, cliquez sur la balise pour accéder au wiki. Il n'y aura pas de fil de voleurs pour cette question.
Flics
Votre tâche en tant que flics consiste à sélectionner deux séquences dans l' Encyclopédie en ligne des séquences entières et à écrire un programme qui prend le nième élément d'une séquence en entrée et génère le nième élément de la deuxième séquence. Vous répondez ensuite en incluant le code et en omettant les séquences sélectionnées. Les voleurs tenteront de trouver les séquences que vous avez sélectionnées et si l'on parvient à trouver les séquences que vous aviez en tête ou d'autres séquences pour lesquelles votre programme vous devez marquer votre réponse comme Cracked . Si un voleur vous informe d'une fissure que vous croyez non valide, vous pouvez présenter une preuve qu'il ne s'agit pas d'une fissure. Sinon, vous devez le marquer ainsi.
Selon les réponses habituelles qui n'ont pas été fissurées pendant 7 jours, vous pouvez être marqué comme sûr. Un flic peut marquer sa réponse comme sûre en révélant les séquences qu'il avait en tête. Une fois en sécurité, une réponse ne peut plus être craquée.
L'objectif est de minimiser le nombre d'octets de votre programme tout en restant non fissuré.
Exemple
Le code Python suivant traduit le nième élément de A000290 (les nombres carrés) en A000217 (les nombres triangulaires):
lambda x:sum(range(0,int(x**.5+1)))
Stipulations et exigences
Si vous choisissez une séquence dont il n'est pas prouvé qu'elle est finie, vous devez sortir tous les termes qui pourraient exister, pas seulement ceux répertoriés sur la page OEIS.
Par exception aux langages de règles précédents sans entiers de précision infinie, il n'est pas nécessaire de sortir ou de saisir des nombres en dehors de leur plage.
La taille de votre séquence d'entrée ne doit pas être inférieure à la séquence de sortie.
Votre séquence d'entrée ne doit pas avoir d'éléments de répétition (sinon la tâche est à peu près impossible)
L'OEIS inclut un index sur leur page (le premier nombre après l'en-tête "OFFSET") par défaut, c'est votre décalage pour n (n est égal à l'index pour le premier élément de la séquence) si vous choisissez un autre index, vous devez l'indiquer dans Ta Réponse.
Si vous choisissez un décalage différent de celui répertorié sur l'OEIS, vous devez toujours mapper tous les éléments de votre séquence d'entrée à l'élément correspondant dans votre séquence de sortie.
Si votre programme reçoit une entrée qui n'est pas dans la séquence d'entrée, il peut faire ce qu'il veut (comportement indéfini). Cependant, il est probablement dans votre intérêt qu'il affiche toujours un entier.
Il est antisportif de rendre intentionnellement votre code difficile à exécuter, que ce soit en le rendant long à exécuter ou via une sélection de langue non libre . Bien que j'applique la seconde, je ne peux pas appliquer objectivement la première. Cependant, je vous implore, pour le plaisir, de ne pas tenter le premier car cela rend le défi spécifiquement plus difficile pour ceux qui ont des ordinateurs plus faibles.
Voleurs
Votre tâche en tant que voleurs est de sélectionner des réponses non fissurées et dangereuses et de trouver les séquences entre lesquelles elles sont mappées. Si vous trouvez une solution qui fonctionne (pas nécessairement la solution prévue par les flics), commentez les séquences sur la réponse appropriée.
Les voleurs ne devraient pas trop se soucier de vérifier que deux séquences particulières sont une solution, on devrait publier une solution si elle correspond à toutes les entrées sur OEIS. Si ce n'est pas la séquence qu'un policier avait en tête, le policier peut offrir une preuve qu'elle est incorrecte ou la marquer comme fêlée s'ils ne peuvent pas en trouver une.