20 votes

Comment relever le défi de la vitesse dans le cadre de l'initiative "Zero Preservation" ?

Dans Human Resource Machine, chaque étape à partir de l'année 6 comporte deux objectifs bonus.

En 9e année, le défi de la vitesse consiste à l'obtenir en 25 étapes. Or, ma solution (la solution de programmation standard) prend 28 étapes.

Dans ce puzzle, vous devez déplacer toutes les entrées 0 vers la boîte de sortie. Il y a 8 entrées et 4-5 d'entre elles sont des 0.

Voici ce que j'ai trouvé

-- HUMAN RESOURCE MACHINE PROGRAM --

a:
b:
    INBOX   
    JUMPZ    c
    JUMP     b
c:
    OUTBOX  
    JUMP     a

Dans l'exemple ci-dessus, chaque 0 prend 4 étapes et chaque non-0 prend 3 étapes. En moyenne, on dit que cela prend 28 étapes.

Quelle est la séquence correcte pour réaliser cette opération en 25 étapes ou moins ?

28voto

Androgba Points 3
-- HUMAN RESOURCE MACHINE PROGRAM --

    JUMP     b
a:
    OUTBOX  
b:
c:
    INBOX   
    JUMPZ    a
    JUMP     c

Cette solution est basée sur celle de DJ Pirtu, mais elle résout à la fois les problèmes de taille et de vitesse, sans dépendre du fait que la première entrée soit non nulle.

0voto

SaloonHoon Points 91

Le code suivant permet de relever le défi de la vitesse en 21 étapes : Il s'appuie sur le fait que le premier nombre de l'entrée est différent de zéro et que le second est zéro....

-- HUMAN RESOURCE MACHINE PROGRAM --

    INBOX   
    INBOX   
a:
    OUTBOX  
b:
    INBOX   
    JUMPZ    a
    JUMP     b

si vous ne voulez pas sauter le premier numéro et le faire en 24 étapes :

-- HUMAN RESOURCE MACHINE PROGRAM --

a:
    INBOX   
    JUMPZ    b
    JUMP     a
b:
c:
    OUTBOX  
d:
    INBOX   
    JUMPZ    c
    JUMP     d

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X