Sfida:
Emette le "cifre intere" di una delle seguenti sei tabelle aritmetiche basate sull'input:
- addition ( +
);
- sottrazione ( -
);
- moltiplicazione ( *
);
- divisione ( /
);
- esponenziazione ( ^
);
- operazione modulo (%
).
Regole:
- Quello che faccio a definire come 'interi-cifre': ogni risultato dell'operando aritmetica che è esattamente uno dei seguenti:
0
,1
,2
,3
,4
,5
,6
,7
,8
,9
. Ciò significa che si esclude ogni risultato di10
o superiore, ogni risultato di-1
o inferiore e ogni risultato non intero. Come calcoliamo i risultati aritmetici: utilizzando prima la cifra in alto, quindi l'operando con la cifra a sinistra.Puoi farlo viceversa (cioèy/x
invece dix/y
), purché tu sia coerente per tutte e sei le uscite! (Quindi non ti è permesso usarey-x
ex/y
nella stessa risposta.) †- Non forniremo nulla per dividere per 0 casi di test (per le tabelle di operazioni di divisione e modulo)
- Non verrà emesso nulla per il caso limite
0^0
.
Produzione:
Quindi emetti il seguente (il formato della tabella è alquanto flessibile (vedi sotto): quindi le linee sono opzionali e principalmente aggiunte per la leggibilità dei casi di test):
aggiunta:
+ | 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
Sottrazione:
- | 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
Moltiplicazione:
* | 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
Divisione:
/ | 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
potenza:
^ | 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
Regole della sfida:
- Le nuove righe finali e gli spazi finali sono facoltativi
- Le linee orizzontali e verticali nei casi di test sono opzionali. Li ho aggiunti solo per una migliore leggibilità. †
- Gli spazi tra ogni risultato NON sono opzionali.
- Il simbolo per l'aritmetica può essere diverso, purché sia chiaro quale sia. Cioè
×
o·
invece che*
per la moltiplicazione;÷
anziché/
per divisione; ecc. †
E purché sia un singolo personaggio, mi dispiace per Python**
. - Il formato di input è flessibile. È possibile scegliere un indice da 0-5 o 1-6 per le sei tabelle corrispondenti; potresti inserire il simbolo dell'operando; ecc. (A differenza di quello che visualizzi nel risultato, puoi inserire stringhe complete, o
**
nel caso di Python.)
Assicurati solo di indicare quale formato di input usi nella tua risposta!
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite .
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se necessario.
† Esempio di output valido senza linee orizzontali e verticali, ÷
come simbolo e utilizzo al y/x
posto di 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
, altre 0
, altre qualcos'altro per 0^0
o divide / mod 0, ma dovrai aggirare il problema. Per quanto riguarda la tua seconda domanda: sì certo, finché le cifre sono ancora nelle stesse colonne / righe puoi usare tutti gli spazi che vuoi.
y-x
, y/x
, y^x
e y%x
invece di x-y
, x/y
, x^y
e x%y
? Hmm, immagino che potrebbe andare bene. Lo modificherò nella risposta; purché tu sia coerente per tutti e sei (quindi no y-x
e x/y
nella stessa risposta).