Bunun eğlenceli, ama çok fazla iş olabileceğini düşünüyorsanız, bu daha küçük bir mücadeleye katılmayı düşünün .
2016 için biraz eğlenceli (ve muhtemelen hayal kırıklığı!) ... Dyalog'un "yılın bulmacası" . Keyfini çıkarın!
Amaç
Dyalog APL ( indirme ) ifadelerini bulun (diğer dillere izin verilir, aşağıdaki Uygunluğa bakın) tam olarak 0 - 100 arasındaki rakamları eşitlemek için bu sırada 2 0 1 6 rakamlarını içerir. Örneğin:
20=16
×2016
2⌊016
2+0+1*6
...
Amaç, her ifadede mümkün olduğunca az karakter kullanmaktır (ifade için minimum karakter sayısı 5'tir - dört rakam 2 0 1 6 ve tek bir ilkel işlev / operatör).
Kurallar
- Her ifade, 2 0 1 6 rakamını (bu sırayla) içermeli ve başka hiçbir basamağı içermemelidir. Önceden ayarlanmış sabitlere ve değişkenlere de izin verilmez.
- Dört 0 2 6 rakamına ek olarak, yalnızca yerleşik semboller ve adlar, parantezler / kaşlı ayraçlar, boşluklar, yüksek eksi işaretleri ve ondalık sayılar kullanılabilir. Elde edilen ifadeler deterministik olmalıdır (yani, tekrarlanan değerlendirmelerde aynı sonucu verin). APL olmayanlar için, bir isme sahip fonksiyonlara / operatörlere de izin verilir; burada aynı kurallar .
- Diliniz için tüm varsayılan ayarları kabul edin. Dyalog APL, bu aracı için
⎕ML
ve⎕IO
her ikisi de 1 'dir, ve⎕PP
10. - 0'dan 100'e kadar olan tüm sayılar için doğru ifadeler içeren her giriş, fazlalık boşluklar dışındaki ifadeler tarafından kullanılan karakter sayısına göre derecelendirilir (tüm 101 ifadeler için minimum 505).
Uygunluğu
Herkes girebilir. Herhangi bir dilde cevap verebilirsiniz, ancak kabul etmek için yalnızca APL cevapları dikkate alınacaktır. APL'den başka bir dil kullanıyorsanız, snippet'leri, programları, işlevleri vb. İfadelerin alternatifi olarak kullanabilir ve kodu doğrudan kodunuz sürece yazdırabilir, numarayı erişilebilir bir bellek konumunda bırakabilir veya başka bir şekilde geri gönderebilirsiniz. İstediğiniz sayıyı, diliniz için herhangi bir standart sayısal veri tipi olarak değerlendirir.
Kapanış tarihi
30 Kasım 2016
Ödüller
- Cevabınız kabul edildi mi
- Dyalog'un 2016 Onur Listesi'nde ölümsüz olun!
Girişinizi Gönderme
30 Kasım 2016'dan sonra en kısa cevabı kabul edeceğim ve cevabınızı sizin adınıza Dyalog'un 2016 Şeref Salonu'na göndereceğim.
SSS
- Is
J
(örneğin 37 =⌈⍟!20J16
) izin? - Hayır: Dört 0 2 6 rakamına ek olarak, yalnızca yalnızca yerleşik semboller ve adlar, parantezler / parantezler, boşluklar, yüksek eksi işaretleri ve ondalık noktalar kullanılabilir.
- Bir dizge olarak çıktı kabul edilebilir mi?
- Hayır: 0 ile 100 arasında sayıları eşit.
- Fiziksel basamaklar veya veri basamakları?
- OP'ye göre veri haneleri: Örneklerden birinin bulunduğu burada olduğu gibi aynı kurallar
LOG10(
. - Değişkenleri atadıktan sonra bunları ifadenin parçası olarak kullanmaya izin veriyor
a+16+a←20
mu (örn. 56 = )? - Evet, ancak bir başkasında bir ifadeden atama kullanamazsınız.
Bu zorluğu buraya, bu zorluğun asıl yazarından göndermek için açıkça yazılı iznim var. Verilen bağlantıyı takip ederek ve yazarla iletişim kurarak doğrulamaktan çekinmeyin . Orijinal yarışma yazarına, bu sayfanın bağlantısını, yayınladığım dakika içinde verdim, böylece birisinin cevabını kendim olarak sunup sunamayacağımı kontrol edebilirler.
⎕ML
ve ⎕IO
(kabul edildiği varsayılarak 1
) kabul edilebilir mi?