Bu zorluk, sık kullandığım bir programlama bloğundan esinlenmiştir. Lütfen orijinal yazıya bakınız: Bir Programlama Yapboz
Meydan okuma
Bir işlev tanımlayın f:Q->Qöyle ki f(f(n)) = -ntüm sıfırdan farklı tamsayılar için nve Qrasyonel sayılar kümesidir.
ayrıntılar
Ne olursa olsun tercih dil olarak tanımlar mısınız bir fonksiyon veya program fparametresi olarak kabul tek sayı nve getiri veya çıkışı bir numara f(n).
Diliniz için hangi mekanizma en doğal olursa olsun girdi sağlanabilir: işlev argümanı, STDIN'den okunan komut satırı argümanı, yığın konumu, ses girişi, çete işaretleri vb.
Çıktı bir fonksiyondan / programdan bir dönüş değeri olmalı veya STDOUT'a yazdırılmalıdır.
Program durumundan veya işlev dışından görülebilen genel bellekten / verilerden faydalanmayan işlevlerin yanıtlarını sınırlandırmak istiyorum f. Örneğin, bir sayacı bunun dışında tutmak fkaç kez fçağrıldığını sayar ve bu sayıya dayanarak sadece bir olumsuzlama yapmak hiç kimse için çok zor veya ilginç değildir. Alınan kararlar fsadece kendi fkapsamındaki verilere dayanmalıdır .
Bununla birlikte, bu kısıtlama, bazı yığın yönelimli diller veya bu tür veri veya kapsamları ayırt etmeyen diğer dil türleri için uygun değildir. Lütfen bu zorluğun ruhuna ayak uydurmak için en iyi kararınızı kullanın.
puanlama
Genel kod golf kuralları geçerlidir - puanınız kaynak kodunuzdaki bayt sayısıdır .
Asgari cevap, alanın ve alan adının frasyonellerin bir alt kümesi olmasını gerektirir Q. Etki alanınızı ve etki alanınızı ftamsayılarla sınırlarsanız Z, puanınız kaynak kodunuzdaki bayt sayısının% 90'ının tavanıdır .
Mola, tenis terimi
Beraberlik durumunda, aşağıdakiler sırayla kullanılacaktır:
- Kaynak kodunuzda en az sayıda yazdırılabilir boşluk olmayan simge var
- Yanıtın en erken tarihi ve saati
Düzenle
İsteğe bağlı büyüklükteki sayıları desteklemeniz gerekmez. Lütfen kümeleri Zve Qveri tiplerini seçtiğiniz dilde yorumlayınız (sırasıyla tam sayı ve kayan nokta).
Çözümünüz tamamen bir veri tipinin altında yatan yapıya veya bit desenine bağlıysa, lütfen sınırlamalarını ve nasıl kullanıldığını açıklayın.
f:Q->Qgeldiğini açıklayabilir misin ?
f, Q(rasyonel sayılar) üyelerini diğer üyelere (muhtemelen aynı) eşleyen bir fonksiyon anlamına gelir Q. bkz. en.wikipedia.org/wiki/Function_(mathematics)#Notation
