Pourquoi un simulateur?
De nos jours, les enfants n’ont ni le temps ni l’ambition voulus pour empiler des boîtes sur la balançoire ou pour jouer avec des objets physiques équilibrés. Cela laisse beaucoup de place sur le marché des logiciels pour un simulateur à levier qui, selon mes modèles, se vendra comme un fou!
Programmation d'aide recherchée
J'ai déposé le brevet pour un tel jeu (en attente), mais j'ai besoin d'un programmeur expert pour écrire la logique du jeu pour moi. À ma connaissance, il est de pratique courante de rémunérer les programmeurs en fonction de la taille en octets du programme final. En tant que tel, je vais attribuer ce contrat lucratif au plus bas soumissionnaire.
spécification
Un levier est une série de cases ou d'espaces vides équilibrés par un point d'appui. Chaque boîte a un poids particulier de un à neuf et les espaces n’ont pas de poids. Comme vous le savez, le poids d'une boîte sur le levier est directement proportionnel à sa distance par rapport au point d'appui. Une boîte de poids 4
qui se trouve sur le troisième espace du point d'appui apportera 12
des unités de force efficaces à ce côté du levier.
J'ai besoin d'un programme qui, avec un levier d'entrée, émettra un signal indiquant si le levier sera incliné vers la gauche, vers la droite ou s'il sera parfaitement équilibré.
Directives I / O
- Vous allez écrire pour moi un programme.
- L'entrée contiendra une ligne de texte.
- L'entrée viendra de
stdin
ou sous forme d'une chaîne de ligne de commande. - Les cases seront représentées par les caractères '
1
' à travers '9
'. Ces caractères représentent leurs poids respectifs. Un espace vide sera représenté par un espace ''. Le point d'appui sera représenté par un caret '
^
'.
Un exemple de levier d’entrée pourrait ressembler à: 8 2^ 941
Ce levier est parfaitement équilibré: (4*8) + 0 + 0 + (1*2) == 0 + (2*9) + (3*4) + (4*1) == 34
- Il n'y aura pas d'espaces de début ni de fin. Il n'y aura pas de nouvelle ligne de fuite.
- Nul besoin de traiter une entrée malformée, l’entrée aura toujours exactement un pivot, et uniquement des nombres et des espaces.
- La sortie indiquera si le levier est lourd à gauche, à droite ou équilibré.
- Votre programme doit avoir exactement 3 sorties possibles pouvant résulter d’une entrée bien formée. Vous pouvez choisir ce que ce sont.
- La sortie doit être soit imprimer
stdout
soit le code de retour du programme.
Cas de test
Ici , je l' utilise L
, R
, B
signifie gauche lourd, droit lourd, équilibré:
Entrée:
11 ^9
sortie:B
Entrée:
321^ 12
sortie:L
Entrée:
9^ 1
sortie:R
(Si quelqu'un a des cas de test "plus difficiles", n'hésitez pas à les éditer).
Bibliographie
Pas nécessairement inspiré par, mais lié à l' équilibre d'un ensemble de poids sur une bascule
^16
, 16^
ou ^
? (Supposons que cela soit possible)
The output must either be print to stdout or be the return code of the program.
Eh bien, maintenant vous me demandez de faire une distribution de Linux qui utilise la notation de bascule pour les codes de sortie.