Les séquences
On vous donne quatre séquences de nombres, numérotées 1
par 4
.
OEIS L'emplacement de
0
's lorsque les nombres naturels sont répertoriés en binaire. Voici un exemple de calcul de la séquence:0,1,10,11,100,101,110,111 ^ ^ ^^ ^ ^ 0 3 78 10 14
Le début de la séquence se déroule comme suit:
0, 3, 7, 8, 10, 14, 19, 20, 21, 23, 24, 27, 29, 31, 36, 37, 40, 45, 51, ...
OEIS Cette séquence comprend le premier nombre naturel, saute les deux suivants, puis inclut les trois suivants, puis saute les quatre suivants et continue.
0, 3, 4, 5, 10, 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, 36, ...
OEIS Entiers positifs où à la fois le nombre de
0
et le nombre de1
dans la représentation binaire du nombre sont des puissances de2
.2, 4, 5, 6, 9, 10, 12, 16, 23, 27, 29, 30, 33, 34, 36, 39,
OEIS Le Hofstadter Q séquence .
a (1) = a (2) = 1;
a (n) = a (na (n-1)) + a (na (n-2)) pour n> 2.1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 6, 8, 8, 8, 10, 9, 10, 11, 11, 12, 12, 12, 12, 16, 14, ...
On sait peu de choses sur cette séquence, mais de nombreux résultats empiriques existent. L'une est particulièrement importante et vous pouvez supposer qu'elle est valable pour toute la série:
Cet article a observé que les éléments de la série peuvent être regroupés en générations. Si nous les numérotons à partir de 1, alors la k ème génération contient exactement 2 k éléments. La propriété pertinente est que tous les nombres de la génération k sont obtenus en additionnant deux nombres des générations k-1 et / ou k-2 , mais jamais des générations précédentes. Vous pouvez utiliser cette (et seulement cette) observation pour mettre une limite inférieure sur les éléments restants de la séquence.
Défi
Votre défi est d'imprimer les premiers x
nombres à l'intersection des séquences d'entrée données.
Entrée: deux nombres séparés par un espace STDIN
. Le premier nombre est un entier de 1
à 15
inclusif où chaque bit correspond à une séquence. Le bit le plus bas correspond à la séquence 1
et le bit le plus élevé correspond à la séquence 4
. La seconde est la quantité de nombres x
, à afficher STDIN
.
Sortie: Les premiers x
nombres qui coupent les séquences d'entrée données. Imprimez les nombres STDOUT
avec n'importe quel espace clair ou ponctuation comme délimiteur (espaces, tabulations, sauts de ligne, virgules, deux-points, points, etc.).
Exemples
1. Imprimez les premiers 3
nombres de chaque séquence.
Contribution: 15 3
Production: 10,23,40
2. Imprimez les premiers 12
chiffres du numéro de séquence 1
et 4
.
Contribution: 9 12
Production: 3,8,10,14,19,20,21,23,24,31,37,40
3. Imprimez les premiers 10
nombres dans l'ordre2
.
Contribution: 2 10
Production: 0,3,4,5,10,11,12,13,14,21
4. Imprimez les premiers 6
nombres dans les séquences 3
et 4
.
Contribution: 12 6
Production: 2,4,5,6,9,10
Détails
- Vous pouvez imprimer la sortie au fur et à mesure ou à la fois à la fin.
Un grand merci à tous ceux qui ont aidé avec cela dans le chat! Cette question a grandement profité du fait d'être dans le bac à sable .
x
?
12 5
exemple jusqu'au même index,10
cela vient en effet avant9
dans l'intersection ... comme, comment, en parcourant les séquences, décideriez-vous de sauter l'9
in # 3 comme intersection possible? Comme si # 3 avait7
dedans, alors vous seriez obligé de le sauter car cela n'apparaît pas dans # 4