Considérons une séquence basée sur les relations de récurrence f(n) = f(n-1)+f(n-2), en commençant par f(1) = x1, f(2) = x2. Pour x1 = 2, x2 = 1, la séquence commence comme ceci:
2 1 3 4 7 11 18 29 47 76 123 199 322 521 843
La concaténation en une chaîne donnera:
213471118294776123199322521843
Maintenant, divisez cette liste en le plus petit nombre possible qui donne y(n) > y(n-1). Commencez par le premier numéro, puis le deuxième, etc. Le premier numéro de sortie doit toujours être un seul chiffre. Remplissez le dernier numéro avec le nombre de zéros requis.
2 13 47 111 829 4776 12319 93225 218430
Vous obtiendrez deux nombres, (x1, x2)en entrée, sur n'importe quel format pratique, et le défi est de sortir la liste triée.
Règles:
- La fonction et les programmes sont OK
- La séquence initiale doit comporter exactement 15 chiffres (le dernier est
f(15)). x1etx2sont non négatifs (zéro est possible).- La sortie peut être dans n'importe quel format pratique
- Le vecteur de sortie
ydoit être créé pour celay2 > y1.- D'abord le plus petit possible
y1, puis le plus petit possibley2,y3et ainsi de suite.
- D'abord le plus petit possible
- Si
x1 = x2 = 0alors sortez 15 zéros (sur le même format que les autres sorties, c'est-à-dire pas000000000000000).
Exemples :
Input: 1 1
Output: 1 12 35 81 321 345 589 1442 3337 7610
Input: 3 2
Output: 3 25 71 219 315 0811 3121 23435 55898 145300
|
Optional leading zero
Input: 0 0
Output: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Le code le plus court en octets gagne. Veuillez inclure un lien vers un interprète en ligne si possible.
5467? 54 67? 5 46 70?