Tantangan:
Keluarkan 'bilangan integer' dari salah satu dari enam tabel aritmatika berikut berdasarkan input:
- penambahan ( +
);
- pengurangan ( -
);
- perkalian ( *
);
- pembagian ( /
);
- eksponensial ( ^
);
- operasi modulo ( %
).
Aturan:
- Apa yang saya definisikan sebagai 'integer-digit': Setiap hasil operan aritmatika yang tepat satu dari berikut:
0
,1
,2
,3
,4
,5
,6
,7
,8
,9
. Ini berarti Anda mengecualikan setiap hasil10
atau lebih tinggi, setiap hasil-1
atau lebih rendah, dan setiap hasil non-integer. Bagaimana kita menghitung hasil aritmatika: Dengan menggunakan digit teratas terlebih dahulu, lalu gunakan operan dengan digit kiri.Anda diperbolehkan melakukan ini sebaliknya (yaituy/x
alih-alihx/y
), selama Anda konsisten untuk keenam output! (Jadi Anda tidak diperbolehkan menggunakany-x
danx/y
dalam jawaban yang sama.) †- Kami tidak akan menampilkan apa pun untuk dibagi dengan 0 kasus uji (untuk tabel operasi divisi dan modulo)
- Kami tidak akan menampilkan apa pun untuk kasing tepi
0^0
.
Keluaran:
Jadi buat output sebagai berikut (format tabel agak fleksibel (lihat di bawah): jadi barisnya opsional dan terutama ditambahkan agar mudah dibaca dari kasus uji):
Tambahan:
+ | 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
Pengurangan:
- | 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
Perkalian:
* | 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
Divisi:
/ | 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
Eksponensial:
^ | 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
Aturan tantangan:
- Mengejar baris baru dan spasi tambahan adalah opsional
- Garis horizontal dan vertikal dalam kasus uji adalah opsional. Saya hanya menambahkannya agar lebih mudah dibaca. †
- Spasi di antara setiap hasil TIDAK opsional.
- Simbol untuk aritmatika mungkin berbeda, asalkan jelas yang mana. Yaitu
×
atau·
bukan*
untuk perkalian;÷
bukannya/
untuk pembagian; dll. †
Dan selama itu karakter tunggal , maaf Python**
. - Format input fleksibel. Anda dapat memilih indeks dari 0-5 atau 1-6 untuk enam tabel terkait; Anda dapat memasukkan simbol operan; dll. (Tidak seperti apa yang Anda tampilkan dalam hasil, Anda diizinkan untuk memasukkan string lengkap, atau
**
dalam kasus Python.)
Pastikan untuk menyatakan format input yang Anda gunakan dalam jawaban Anda!
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, silakan tambahkan penjelasan jika perlu.
† Contoh output yang valid tanpa garis horizontal dan vertikal, ÷
sebagai simbol, dan menggunakan y/x
bukannya 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
, lainnya 0
, yang lain sesuatu untuk 0^0
atau bagi / bagi 0, tetapi Anda harus mengatasinya. Adapun pertanyaan kedua Anda: Ya tentu, selama digit masih di kolom / baris yang sama Anda dapat menggunakan ruang sebanyak yang Anda inginkan.
y-x
, y/x
, y^x
dan y%x
bukan x-y
, x/y
, x^y
dan x%y
? Hmm, saya kira itu bisa baik-baik saja. Saya akan mengeditnya dalam jawaban; selama Anda akan konsisten untuk mereka berenam (jadi tidak y-x
dan x/y
dalam jawaban yang sama).