introduction
Je suis tombé sur ce modèle (inutile) l'autre jour alors que je regardais la télévision. Je l'ai appelé "le motif 9" parce que le premier nombre à l'utiliser était 9. L'essentiel est que vous entrez un nombre (disons x ), puis vous revenez:
- X
- x + ( x / 3) [appelons cela y ]
- les deux tiers de y [appelons cela z ]
- z + 1
Donc, si je mets à l'intérieur de ce motif le nombre 9 en tant que x , voici ce qui sortirait:
- 9 ( 9 )
- 12 ( 9 + 9/3 ) [9 sur 3 est 3 et 9 + 3 est 12]
- 8 ( 12 fois les deux tiers) [un tiers de 12 est 4 et 4 * 2 est 8]
- 9 ( 8 + 1 est 9)
Défi
Écrivez-moi une fonction (dans n'importe quel langage de programmation) qui prend un nombre et génère un tableau entier en utilisant le modèle.
Un peu comme ce pseudo-code:
function ninePattern(int myInt) returns IntegerArray {
int iterationA = myInt + (myInt / 3);
int iterationB = iterationA * (2 / 3);
int iterationC = iterationB + 1;
IntegerArray x = [myInt, iterationA, iterationB, iterationC];
return x;
}
Clarifications
Les discussions ont suscité des commentaires concernant les spécifications de la question. Cette section vise à clarifier certains d'entre eux.
"mieux vaut compter en octets que en caractères"
J'ai choisi des personnages parce que (pour moi, au moins), il serait plus facile de juger. Bien sûr, je ne peux pas changer ça maintenant. (de nombreuses réponses sont déjà publiées)
"arrondi"
L'arrondi suit cette rime:
Si c'est 5 ou plus, augmentez le score
Si c'est 4 ou moins, laissez reposer
Autrement dit, si c'est quelque chose comme 4,7 ou 3,85, arrondissez-les respectivement à 5 et 4.
Exemples
Input => Result
9 => [9, 12, 8, 9]
8 => [8, 11, 7, 8]
6 => [6, 8, 5, 6]
23 => [23, 31, 21, 22]
159 => [159, 212, 141, 142]
Si, cependant, les nombres sont quelque chose comme 2,3 ou 10,435446, arrondissez-les respectivement à 2 et 10.
"support linguistique"
Vous êtes libre de ne pas utiliser les fonctions et / ou les tableaux SI ET UNIQUEMENT SI la langue de votre choix ne les prend pas en charge. Si c'est le cas (même si cela augmentera le nombre de vos personnages), vous devez les utiliser .