/// alanında golf için ipuçları


12

/// alanında golf oynamak için hangi genel ipuçlarınız var ? Ben kod-golf sorunları uygulanabilir ve aynı zamanda en azından biraz /// (örneğin "gereksiz boşluk kaldırmak" bir cevap değildir) için belirli fikirler arıyorum. İtflabtijtslwi ve Lines için ipuçları burada ve burada da geçerlidir.

Lütfen cevap başına bir ipucu gönderin.

Yanıtlar:


5

//Yedek olarak kullanın

Bir grup değiştirme tanımladığınızda, örneğin:

/a/b//c/d//e/f//g/h//i/j//k/l//m/n//o/p//q/r//s/t//u/v//w/x//y/z/

(65 bayt). //Yedek olarak kullanabilirsiniz :

/~/\/\///a/b~c/d~e/f~g/h~i/j~k/l~m/n~o/p~q/r~s/t~u/v~w/x~y/z/

(61 bayt).


4

Eksik /// blokları yazdırılmıyor

Bu kod satırının

/Stack/Overflow//x/\//Stack/ignore/DoItyignore

yalnızca baskılar Overflow- daha sonraki kısım /ignoreçıktıya dahil edilmez, çünkü ///yalnızca üçüncü eğik çizgi kısmına bir şeyler basar.

Tamamlanmamış bloğu çevrimiçi deneyin!

Ancak yine de ikame tarafından kabul edilir: eğer orada bir eğik çizgi enjekte edersek, işler değişir:

/Stack/Overflow//x/\//Stack/ignore/doitxignore

Bunu çevrimiçi deneyin!

Çıktı burada Overflowdoityerini çünkü xile /geçerli sözdizimi yaptı.


4

Temelde genişlerken ve ara sonuçları yazdırırken, önceki yinelemeleri gelecekteki sonuçlara dahil edin

Biraz kıvrık geliyordu. Demek istediğim, gerçek bir cevap kullanılarak daha iyi tanımlanabilir. Bu zorluk , bu özel çıktıyı gerektirir:

Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.

Saf bir çözüm şunlar olabilir:

/1/Steve Ballmer still does not know//2/ what he did//3/ wrong//4/ with mobile./1.
12.
123.
1234

Uyarı nasıl desen 1, 12, 123... tekrarlanır? Bunu yaptığınızda değil:

/1/Steve Ballmer still does not know//2/1 what he did//3/2 wrong//4/3 with mobile/1.
2.
3.
4.

Bir kez daha, bunu işaret ettiği için Martin Ender'e teşekkürler!


2

Kenar vakalarını işlemek için kodun sonunda bir karakter kullanın

Biri ///hariç tüm harfleri işleyen bir kod parçanız olduğunda, edge harfini işlemek için kodun kenarındaki bir karakteri kullanabilirsiniz.

Örnek: İkinci sayı 7 değilse tekli iki araya ekleyin, bu durumda sadece ilk sayıyı çıkartın.

"İkinci sayı 7'dir" durumu hariç tümünü işleyen kod:

/+//<INPUT 1>+<INPUT 2>

*Kodun sonuna a ekleyerek , kenar kasasını +0000000*hiçbir şeyle değiştirerek işleyebiliriz ( +numaranın 7'den büyük olmadığından emin olmak için - karakterini dahil etmek gerekir). Temizlemek için girişten önce sonuna kod eklediğinizden emin olun.

/+0000000*///+///*//<INPUT 1>+<INPUT 2>*

Çevrimiçi deneyin!

"Gerçek dünya" örneği için, bu numarayı "Jimmy" sorunlarının bazılarında kullandım:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.