Contribution:
Entier n
qui est >=0
ou >=1
( f(0)
est facultatif)
Production:
Le n
«e numéro dans la séquence ci-dessous, OU la séquence jusqu'au et incluant le n
« e numéro.
Séquence:
(0),1,-1,-3,0,5,-1,-7,0,9,-1,-11,0,13,-1,-15,0,17,-1,-19,0,21,-1,-23,0,25,-1,-27,0,29,-1,-31,0,33,-1,-35,0,37,-1,-39,0,41,-1,-43,0,45,-1,-47,0,49,-1,-51,0,53,-1,-55,0,57,-1,-59,0,61,-1,-63,0,65,-1,-67,0,69,-1,-71,0,73,-1,-75,0,77,-1,-79,0,81,-1,-83,0,85,-1,-87,0,89,-1,-91,0,93,-1,-95,0,97,-1,-99
Comment est construite cette séquence?
f(n=0) = 0
(facultatif)
f(n=1) = f(0) + n
ou f(n=1) = 1
f(n=2) = f(1) - n
f(n=3) = f(2) * n
f(n=4) = f(3) / n
f(n=5) = f(4) + n
etc.
Ou en pseudo-code:
function f(integer n){
Integer result = 0
Integer i = 1
Loop as long as i is smaller than or equal to n
{
if i modulo-4 is 1:
result = result plus i
if i modulo-4 is 2 instead:
result = result minus i
if i modulo-4 is 3 instead:
result = result multiplied with i
if i modulo-4 is 0 instead:
result = result integer/floor-divided with i
i = i plus 1
}
return result
}
Mais comme vous l'avez peut-être remarqué, la séquence comporte deux modèles:
0, ,-1, ,0, ,-1, ,0, ,-1, ,0, ,-1, ,0, ,-1, ,...
,1, ,-3, ,5, ,-7, ,9, ,-11, ,13, ,-15, ,17, ,-19,...
de sorte que toutes les autres approches aboutissant à la même séquence sont bien entendu parfaitement correctes également.
Règles du défi:
- Les entrées indexées 0 et indexées 1 donneront le même résultat (c'est pourquoi l'
f(0)
option est facultative pour les entrées indexées 0 si vous souhaitez l'inclure). - Vous êtes autorisé à sortir le
n
'ème numéro de cette séquence. Ou la séquence entière en haut et y compris len
numéro e. (Ilf(5)
peut donc en résulter soit5
ou0,1,-1,-3,0,5
.)- Si vous choisissez de sortir la séquence jusqu'au
n
numéro e inclus , le format de sortie est flexible. Peut être une liste / tableau, une virgule / espace / une chaîne délimitée par une nouvelle ligne ou être imprimé sur STDOUT, etc.
- Si vous choisissez de sortir la séquence jusqu'au
- La division (
/
) est une division entier / étage, qui arrondit vers 0 (et non vers l'infini négatif comme c'est le cas dans certaines langues).
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues non-golfeur de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- Veuillez également ajouter une explication si nécessaire.
Cas de test supplémentaires ci n=100
- dessus :
Input Output
1000 0
100000 0
123 -123
1234 -1
12345 12345
123456 0