Patronum * programcılarının program gereksinimlerini değiştiren kullanıcılara neden olumsuz tepki verdiğini anlamıyor. Anlamasına yardım et! Her cevapta yeni bir gereksinim yaratın. Ardından, yeni bir programlama dilinde bu gereksinimi ve önceki tüm gereksinimleri çözen bir program / işlev yazın.
Örnekler
Kullanıcı 1 ilk cevabı yayınlar. Programın "Merhaba, Dünya" çıktısı alması gerektiğini belirtir. Java'da "Merhaba, Dünya" çıktısı veren bir program oluşturur.
Kullanıcı 2 ikinci cevabı yayınlar. O programı girişini kabul etmesi gerektiğini belirten n ve çıkış n inci yukarı dilin sayı maksimum asal. O girişini kabul eden C ++ bir program oluşturur n ve çıkışlar n inci asal ve çıkışları "Merhaba, Dünya." Java'da bir program oluşturamadı.
Kullanıcı 3 üçüncü yanıtı yayınlar. Program kaynağının "Merhaba" metnini içeremeyeceğini belirtir. Python'da n girişini kabul eden bir işlev oluşturur ve n. Birinci ve "Merhaba, Dünya" yı çıktılar . kaynağında "Merhaba" metnini kullanmaz. Java veya C ++ 'da bir program oluşturamazdı.
Yanıt Biçimi
#Answer # - <language name> [version, if pertinent]
Requirement: <rule>.
<code>
[explanations, encoding, TIO link, etc.]
Yanıt Kuralları
Cevap yukarıdaki biçime veya benzeri bir biçime uygun olmalıdır.
Cevap bir program veya bir fonksiyon olabilir.
Cevap, mevcut cevap dahil ve bu cevap dahil tüm gereksinimleri karşılamalıdır.
Aynı kullanıcı arka arkaya iki cevap gönderemez.
Aynı numara ile iki cevap gönderilirse, daha sonra gönderilen cevap silinmelidir.
Kötü bir şekilde dağılmadıkça ve başka yanıt gönderilmedikçe gereksiniminizi düzenlemeyin .
Cevabınız kuralınıza ve diğer tüm kurallara uymuyorsa, geçersizdir. Birisi bir sonraki yanıtı göndermeden önce bunu düzeltmeyi deneyin.
Aynı dili farklı versiyonları sadece farklı dil olarak saymak eğer ikisinden biri sürümünde oluşturulan program veya fonksiyon başka versiyonunda farklı davranır.
Cevap, gerekli olmayan herhangi bir girdiyi kabul etmeyebilir ve gerekli boşluk haricinde gerekli olmayan hiçbir şeyi vermeyebilir. Ancak, sahne arkasında programın tüm "gizli" (kullanıcıdan) gereksinimlerini karşılaması gerekirken, özellikle de yürütme süresi gereksinimini yerine getirmeniz gerekiyorsa, istediğiniz her şeyi yapabilir.
Gereksinim Kuralları
Gereksinim yalnızca bir gereksinim belirtmelidir. Bu gereksinim koşullu olabilir ve bu gereksinim bir girdi ve / veya çıktı gerektiriyorsa, bu dahil edilebilir.
Bu gereksinim, önceki gereksinimleri kaldıramaz veya değiştiremez veya bunlarla çakışamaz, ancak bir gereksinimi uzatabilir (hangisini belirtebileceğiniz).
Gereksinim kaynağı kısıtlıyorsa ( kısıtlı kaynak ) veya kaynakta metin gerektiriyorsa, yalnızca tek bir dize (örn
0
.Hello
) Kaldırabilir veya tek bir karakter gerektirebilir.Bu gereksinim, kaynağın 100 baytın altında olmasını gerektiremez, belirli bir kodlama gerektirmez veya kendi başına ortak dillerin çoğunu dışlayabilir.
Gereksinim, kaynağı, kısıtlı kaynakta belirtilenin dışında, belirli bir desene (örneğin, her bir satırı belirli bir karakterle başlamaya veya (@Conor) belirli bir değere hash etmeye) uymaya zorlamayabilir.
Bu cevaplama zinciridir , bu yüzden tüm cevaplar önceki cevaplara dayanır. Ben ve belki de diğerleri tüm gereksinimlerin bir listesini tutmaya çalışacağız. Yanıtları sırayla görmek için en eskisine göre sıralayabilirsiniz. En yeni yanıtı görmek için, en eskisine göre sıralayın ve ardından listenin sonuna gidin.
Nasıl Kazanılır (bekletme oyu için değiştirildi):
İki hafta boyunca hiçbir cevap gönderilmediğinde, meydan okuma sona erer ve puanlar hesaplanır. Puanlar, her bir kullanıcının toplam cevap sayısını toplayarak hesaplanacaktır, ancak mesajların zincire ne kadar uzak olduklarına göre ağırlıklandırılması (daha sonraki yayınların daha fazla gereksinimi olduğundan, daha zordur).
pseudocode:
for each answer in user.Answers {
score += 1 + (answer.number / 100)
}
Misal:
Sally'nin üç cevabı var. Cevap 5, cevap 7 ve cevap 20'yi gönderdi.
Skoru olacak 1.05 + 1.07 + 1.2 = 3.32
. Düzgün cevapların toplamı olsaydı, puanı 3 olurdu, ancak zincir derinliğinin ağırlığı daha zor cevapları ödüllendirir.
Başlamak:
İşte patronum tarafından verilen ilk gereklilik *:
Gereksinim 0: Program her şeyden önce 0 çıktı almalıdır.
* kurgusal
Gereksinimler ve Diller Listesi
Bunun eski olabileceğini unutmayın. Her gereksinimi yerine getirdiğinizden emin olmak için lütfen yanıtınızı göndermeden hemen önce son gönderilen cevaba bakın. Nefis bir program oluşturursanız çok üzgünüm, sadece birinin onu yakalaması için - gerçekten gerçekten göndermek istiyorsanız, rakipsiz belirtin.
Tam (ama belki şimdiki değil) Gereksinim: içeremez
0
,*
ya]
kaynak kodunda ve katılmak on satır yerleşiğini kullanamaz. Çıkışlar0
, daha sonra negatif olmayan bir tamsayı girişi alırn
ve bir yeni satır ve ardından 0 dizinlin
th Fibonacci numarası (1
endekslenebilir), ardından bir satırsonu, ardından aynı satırın n kare, ardından bir satırsonu ve ardındann
çarpılır yeni bir giriş ilem
, ardından bir yeni satır ardından,10^B
,B
ardından bir yeni satır ardından kaynak kodu bayt sayısı,n
th0
-indexed (aynı zamanda olabilir1
asal sayı -indexed), bir yeni satır, ardından ardından n ve m'nin En Büyük Ortak Böleni gelir.0: Program
0
her şeyden önce çıktı almalıdır . Dil: Yok
1: Program kaynağı içeremez0
. Dil: 05AB1E
2: Program, negatif olmayan bir tamsayı girişi alırn
ve0
-indexed n'üncü Fibonacci numarasını ( ardından1
dizine eklenebilir) izleyen bir yeni satır çıkarır . Dil: dc
3: Program bir satırsonu çıkarır ve ardından aynı girişn
karesi gelir. Dil: J
4: Program bir satırsonu çıkarır ve bunun
yeni bir girdi ile çarparm
. Dil: Ohm
5: Program içeremez*
(ASCII kodu0x2A
). Dil: Python 3
6: ardından bir satır çıkışları program10^B
,B
kaynak kodunda bayt sayısıdır. Dil: Mathematica
7: Bu program, ardından bir yeni satır çıktılarn
th0
-indexed (aynı zamanda olabilir1
-indexed) asal sayı. Dil: JavaScript (ES6)
8: Program, new -join-on-line yerleşiklerini kullanmaz, ancak başka bir join yerleşikini kullanabilir. Dil: Jelly
9: Program yeni bir satır ve ardından n ve m'nin En Büyük Ortak Böleni çıkarır. Dil: Scala
10: Program içeremez]
. Dil: Pyth
Güncel Skorlar (ilk gönderiye göre sıralanmıştır)
Okx : 1.01
R. Kap : 2.09
Conor O'Brien : 1.03
Nick Clifford : 1.04
Eric Rose : 1.05
Greg Martin : 1.06
Outgolfer Erik : 2.18
math_junkie : 1.09