Meydan okuma:
Girdiye dayalı olarak aşağıdaki altı aritmetik tablodan birinin 'tamsayı hanelerini' çıktılayın:
- add ( +);
- çıkarma ( -);
- çarpma ( *);
- bölünme ( /);
- üs alma ( ^);
- modulo işlemi ( %).
Kurallar:
- Tam olarak aşağıdakilerden biridir aritmetik işlenen her sonucu:: Ben tamsayı-basamak 'olarak tanımlarım ne
0,1,2,3,4,5,6,7,8,9. Bu , tüm sonuçları veya daha yüksek, her sonucu veya daha düşük sonuçlarını ve tamsayı olmayan her sonucu hariç tuttuğunuz anlamına gelir .10-1 Aritmetik sonuçları nasıl hesaplarız: Önce üst basamağı kullanarak, ardından sol basamağıyla işlenen kullanın.Çıktıların altısı için tutarlı olduğunuz sürece,y/xbunun tersini (yani yerinex/y) yapmanıza izin verilir ! (Eğer kullanıma izin verilmez yüzdeny-xvex/yaynı yanıtında.) †- 0 test senaryosuna bölmek için hiçbir şey vermeyeceğiz (bölme ve modulo operasyon tabloları için)
- Kenar kasası için hiçbir şey çıkarmayacağız
0^0.
Çıktı:
Bu yüzden aşağıdakileri çıktılayın (tablo formatı biraz esnektir (aşağıya bakınız): bu nedenle çizgiler isteğe bağlıdır ve esas olarak test senaryolarının okunabilirliği için eklenmiştir):
İlave:
+ | 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
Çıkarma:
- | 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
Çarpma işlemi:
* | 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
Bölünme:
/ | 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
Üs:
^ | 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
Modülo:
% | 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
Zorluk kuralları:
- Sondaki yeni satırlar ve sondaki boşluklar isteğe bağlıdır
- Test kutularındaki yatay ve dikey çizgiler isteğe bağlıdır. Bunları yalnızca daha iyi okunabilirlik için ekledim. †
- Her sonuç arasındaki boşluklar isteğe bağlı DEĞİLDİR.
- Aritmetiğin sembolü, hangisinin olduğu açık olduğu sürece farklı olabilir. Yani
×veya çarpma·yerine*; bölme÷yerine/; vs †
Ve de başlarına olduğu gibi tek bir karakter, Python en çok üzgünüm**. - Giriş formatı esnektir. Karşılık gelen altı tablo için 0-5 veya 1-6 arasında bir dizin seçebilirsiniz; işlenen sembolünü girebilirsiniz; (Sonuçta görüntülediklerinizin aksine, tam dizeler girmenize veya
**Python'un durumunda girmenize izin verilir .)
Yanıtınızda hangi giriş biçimini kullandığınızdan emin olun!
Genel kurallar:
- Bu kod golf , bayt en kısa cevap kazanır.
Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. 'Herhangi bir' programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyon / yöntemi uygun parametrelerle, tam programları kullanmanıza izin verilir. Çağrınız.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, gerekirse bir açıklama ekleyin.
† Yatay ve dikey çizgiler içermeyen, ÷sembol olarak ve aşağıdakilerin y/xyerine kullanılan geçerli çıktı örneği 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, diğerleri 0, diğerleri için başka bir şey 0^0ya da böl / mod 0, ama bunun etrafında çalışmak zorunda kalacaksınız. İkinci sorunuza gelince: Evet, rakamlar hala aynı sütunlarda / satırlarda olduğu sürece istediğiniz kadar boşluk kullanabilirsiniz.
y-x, y/x, y^xve y%xyerine x-y, x/y, x^yve x%y? Hmm, sanırım bu iyi olabilir. Cevapta düzenleyeceğim; sürece hepsini altı (çok değil tutarlı olacak şekilde y-xve x/yaynı yanıt olarak).