Herausforderung:
Ausgabe der 'Integer-Ziffern' einer der folgenden sechs Arithmetik-Tabellen basierend auf der Eingabe:
- addition ( +
);
- Subtraktion ( -
);
- Multiplikation ( *
);
- Division ( /
);
- Potenzierung ( ^
);
- Modulo-Betrieb ( %
).
Regeln:
- Was definiere ich als ‚integer-Ziffern‘: Jedes Ergebnis der arithmetischen Operanden , die genau eine der folgenden ist:
0
,1
,2
,3
,4
,5
,6
,7
,8
,9
. Das heißt , Sie ausschließen jedes Ergebnis10
oder höher, jedes Ergebnis-1
oder weniger, und jedes nicht-ganzzahlige Ergebnis. So berechnen wir die Rechenergebnisse: Verwenden Sie zuerst die oberste Ziffer und dann den Operanden mit der linken Ziffer.Sie dürfen dies umgekehrt tun (dhy/x
stattdessenx/y
), solange Sie für alle sechs Ausgänge konsistent sind! (Du darfst also nichty-x
undx/y
in derselben Antwort verwenden.) †- Wir werden nichts für die Division durch 0 Testfälle ausgeben (für die Divisions- und Modulo-Operationstabellen)
- Für den Edge-Case geben wir nichts aus
0^0
.
Ausgabe:
Geben Sie also Folgendes aus (Tabellenformat ist etwas flexibel (siehe unten): Die Zeilen sind also optional und werden hauptsächlich zur besseren Lesbarkeit der Testfälle hinzugefügt):
Zusatz:
+ | 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
Subtraktion:
- | 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
Multiplikation:
* | 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
Einteilung:
/ | 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
Potenzierung:
^ | 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
Herausforderungsregeln:
- Nachgestellte Zeilenumbrüche und Leerzeichen sind optional
- Die horizontalen und vertikalen Linien in den Testfällen sind optional. Ich habe sie nur zur besseren Lesbarkeit hinzugefügt. †
- Die Leerzeichen zwischen den einzelnen Ergebnissen sind NICHT optional.
- Das Symbol für die Arithmetik kann unterschiedlich sein, solange klar ist, um welches es sich handelt. Dh
×
oder·
statt*
zur Multiplikation;÷
statt/
zur Teilung; usw. †
Und solange es sich um ein einzelnes Zeichen handelt, tut es Python leid**
. - Das Eingabeformat ist flexibel. Sie können einen Index von 0-5 oder 1-6 für die entsprechenden sechs Tabellen auswählen. Sie könnten das Operandensymbol eingeben; usw. (Im Gegensatz zu dem, was Sie im Ergebnis anzeigen, können Sie vollständige Zeichenfolgen eingeben, oder
**
in Pythons Fall.)
Geben Sie einfach an, welches Eingabeformat Sie in Ihrer Antwort verwenden.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methode mit den richtigen Parametern und vollständige Programme verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Fügen Sie ggf. auch eine Erklärung hinzu.
† Beispiel für eine gültige Ausgabe ohne horizontale und vertikale Linien ÷
als Symbol und mit y/x
anstelle von 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
, andere 0
, andere etwas anderes für 0^0
oder dividieren / mod 0, aber Sie müssen das umgehen. Zu Ihrer zweiten Frage: Ja, solange sich die Ziffern noch in denselben Spalten / Zeilen befinden, können Sie so viele Leerzeichen verwenden, wie Sie möchten.
y-x
, y/x
, y^x
und y%x
statt x-y
, x/y
, x^y
und x%y
? Hmm, ich denke das könnte in Ordnung sein. Ich werde es in der Antwort bearbeiten; solange Sie für alle sechs von ihnen konsistent sind (also nicht y-x
und x/y
in der gleichen Antwort).