Défi:
Sortez les «chiffres entiers» de l'une des six tables arithmétiques suivantes en fonction de l'entrée:
- addition ( +
);
- soustraction ( -
);
- multiplication ( *
);
- division ( /
);
- exponentiation ( ^
);
- fonctionnement modulo ( %
).
Règles:
- Qu'est-ce que je définis comme « integer-chiffres »: Tous les résultats de l'opérande arithmétique qui est exactement un des éléments suivants:
0
,1
,2
,3
,4
,5
,6
,7
,8
,9
. Cela signifie que vous excluez chaque résultat de10
ou supérieur, chaque résultat de-1
ou inférieur et chaque résultat non entier. Comment calculer les résultats arithmétiques: en utilisant d'abord le chiffre du haut, puis en utilisant l'opérande avec le chiffre de gauche.Vous êtes autorisé à le faire vice-versa (c'est-à-direy/x
au lieu dex/y
), tant que vous êtes cohérent pour les six sorties! (Vous n'êtes donc pas autorisé à utilisery-x
etx/y
dans la même réponse.) †- Nous ne publierons rien pour les cas de test de division par 0 (pour les tables d'opérations de division et de module)
- Nous ne publierons rien pour le cas de bord
0^0
.
Production:
Sortez donc les éléments suivants (le format du tableau est quelque peu flexible (voir ci-dessous): les lignes sont donc facultatives et principalement ajoutées pour la lisibilité des cas de test):
Une addition:
+ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 1 2 3 4 5 6 7 8 9
2 | 2 3 4 5 6 7 8 9
3 | 3 4 5 6 7 8 9
4 | 4 5 6 7 8 9
5 | 5 6 7 8 9
6 | 6 7 8 9
7 | 7 8 9
8 | 8 9
9 | 9
Soustraction:
- | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 1 2 3 4 5 6 7 8 9
1 | 0 1 2 3 4 5 6 7 8
2 | 0 1 2 3 4 5 6 7
3 | 0 1 2 3 4 5 6
4 | 0 1 2 3 4 5
5 | 0 1 2 3 4
6 | 0 1 2 3
7 | 0 1 2
8 | 0 1
9 | 0
Multiplication:
* | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 0 0 0 0 0 0 0 0 0 0
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 2 4 6 8
3 | 0 3 6 9
4 | 0 4 8
5 | 0 5
6 | 0 6
7 | 0 7
8 | 0 8
9 | 0 9
Division:
/ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 2 3 4
3 | 0 1 2 3
4 | 0 1 2
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
Exponentiation:
^ | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 | 1 1 1 1 1 1 1 1 1
1 | 0 1 2 3 4 5 6 7 8 9
2 | 0 1 4 9
3 | 0 1 8
4 | 0 1
5 | 0 1
6 | 0 1
7 | 0 1
8 | 0 1
9 | 0 1
Modulo:
% | 0 1 2 3 4 5 6 7 8 9
-----------------------
0 |
1 | 0 0 0 0 0 0 0 0 0 0
2 | 0 1 0 1 0 1 0 1 0 1
3 | 0 1 2 0 1 2 0 1 2 0
4 | 0 1 2 3 0 1 2 3 0 1
5 | 0 1 2 3 4 0 1 2 3 4
6 | 0 1 2 3 4 5 0 1 2 3
7 | 0 1 2 3 4 5 6 0 1 2
8 | 0 1 2 3 4 5 6 7 0 1
9 | 0 1 2 3 4 5 6 7 8 0
Règles du défi:
- Les nouvelles lignes et les espaces de fin sont facultatifs
- Les lignes horizontales et verticales dans les cas de test sont facultatives. Je les ai seulement ajoutés pour une meilleure lisibilité. †
- Les espaces entre chaque résultat ne sont PAS facultatifs.
- Le symbole de l'arithmétique peut être différent, tant qu'il est clair de savoir lequel il s'agit. C'est-à-dire
×
ou·
au lieu de*
pour la multiplication;÷
au lieu de/
pour la division; etc. †
Et tant qu'il s'agit d'un seul caractère, alors désolé Python**
. - Le format d'entrée est flexible. Vous pouvez choisir un index de 0-5 ou 1-6 pour les six tables correspondantes; vous pouvez saisir l'opérande-symbole; etc. (Contrairement à ce que vous affichez dans le résultat, vous êtes autorisé à saisir des chaînes complètes, ou
**
dans le cas de Python.)
Assurez-vous simplement d'indiquer le format d'entrée que vous utilisez dans votre réponse!
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 autres que le golf 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, des programmes complets. 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.
† Exemple de sortie valide sans lignes horizontales et verticales, ÷
comme symbole, et utilisant à la y/x
place de x/y
:
÷ 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0
1 1
2 2 1
3 3 1
4 4 2 1
5 5 1
6 6 3 2 1
7 7 1
8 8 4 2 1
9 9 3 1
1
, d'autres 0
, d'autres quelque chose d'autre 0^0
ou divisent / mod 0, mais vous devrez contourner cela. Quant à votre deuxième question: Oui bien sûr, tant que les chiffres sont toujours dans les mêmes colonnes / lignes, vous pouvez utiliser autant d'espaces que vous le souhaitez.
y-x
, y/x
, y^x
et au y%x
lieu de x-y
, x/y
, x^y
et x%y
? Hmm, je suppose que ça pourrait être bien. Je vais le modifier dans la réponse; tant que vous serez cohérent pour les six d'entre eux (donc pas y-x
et x/y
dans la même réponse).