Programlama Yapbozlarından Code Golf'a


74

Senin görevin tam dize çıktı bir program yazmaktır Programming Puzzles(izleyen satırsonu isteğe bağlı), ancak tüm boşluklar, sekmeler ve yeni satırlar çıkarıldığında çıktılar Code Golf(izleyen satırsonu isteğe bağlı).

Bayt sayınız, hala boşluk olan ilk programın sayımıdır.

notlar

  • Kaldırma işleminin bir parçası olarak Code Golf ve içindeki boşluklar Programming Puzzleskaldırılacak, buna göre plan yapın.

  • 0x09, 0x0A ve 0x20'nin sırasıyla sekme, yeni satır veya boşluk olmadığı kodlamalarda, bu karakterler silinir.

  • Eğer kodunuz

    42  $@ rw$
    @42
    

    o zaman bu çıktı gerekir Programming Puzzles. Ayrıca, aynı dilde

    42$@rw$@42
    

    çıktı gerekir Code Golf.

Bu , yani bayttaki en kısa kod kazanır! İyi şanslar!


3
İçindeki alan Code Golfda kaldırılacak mı Programming Puzzles?
colsw,

2
En azından Whirl ve Whitespace'de bu imkansız olacak .
Mühendis Toast,

13
Ne için yakın oylar var?
OldBunny2800

12
@ OldBunny2800 iyi bir soru. Bunu sormaya devam ediyorum ama yorum kaldırıldı ...
programmer5000

12
Yakın oylar girdi ve çıktıların eksikliği ve girdi ve çıktıların biçimlendirilmesinde kısıtlama içindir. "Kurallar" etiketli bir bölüme sahipseniz,% 0 yakın oy alacağınız zorluklarla ilgili bariz olduğunu düşündüğünüz şeylerin listesini gösteren bir bölüm varsa. Tamamen CompSci milletleriyle sunum yapmakla ilgili, eğer bize bir bayt kazandıracak veya aptalca görünecek kadar aptalca bir soru düşünebilirsek, bu aptallığa karşı koymaya çalışacağız ve sen de harika bir soru yazarı olacaksın.
Magic Octopus Urn

Yanıtlar:


65

Python 2,50 bayt

print["Code\40Golf","Programming Puzzles"][" ">""]

Çevrimiçi deneyin!

Tüm boşluklar kaldırılmış olarak:

print["Code\40Golf","ProgrammingPuzzles"]["">""]

Bunu çevrimiçi dene!

3 baytlık Stephen S ve 1 yıl boyunca Outgolfer Erik'e teşekkürler.


2
Kahretsin, ninja'd! Cevap Yaz'ı tıklamak üzereydim! +1
HyperNeutrino

1
Sanırım arkadaşımın beynini kırdın. Bu nasıl çalışıyor?
Stevoisiak

11
@StevenVascellaro Bu gerçekten basit. İlk durumda, sözcükbilgisel olarak, boş bir dizgeden daha büyük bir boşluk olduğundan, " ">""döndürür True. İkinci durumda, hiçbir şey kendinden daha büyük olamayacağından "">""geri döner False. Trueve Falseaslında sadece 1ve 0sırasıyla, veya boolyerine sadece veri türündedir . İlk durumda, boşluklar korunur, bu nedenle, dizin 1'deki öğe sözlü olarak döndürülür. İkinci durumda, boşluklar gider, dolayısıyla bir alanı korumak için 0 dizinindeki öğede bulunur . intlong"Programming Puzzles"\x20"Code\x20Golf"
Outgolfer Erik,

9
@StephenS Hayır, çünkü JavaScript'ten farklı olarak Python'un örtülü döküm ile ilgili bir takıntısı yoktur.
Mego

1
Python'un saplantı eksikliği rahatsız edici bulursa.
John Dvorak


22

05AB1E , 15 bayt

”ƒËŠˆ”" "v”–±ÇÀ

Çevrimiçi deneyin!

açıklama

”ƒËŠˆ”           # push "Code Golf"
      " "v       # for each character in the string " " do
          ”–±ÇÀ  # push "Programming Puzzles"
                 # implicitly output top of stack

... sadece anlamıyorum. Bu sözlük sıkıştırma kullanıyor mu?
LegionMammal978

@ LegionMammal978 Oldukça eminim.
NoOneIsHere

@ LegionMammal978: Gerçekten de sözlük sıkıştırması kullanıyor.
Emigna

5
@Emigna Tamam, çünkü son kontrol ettiğimde, bu karakterlerin hiçbiri 4 bayta
sığamadı

1
@ Draco18s: Kevin, nasıl kullanılacağı hakkında daha iyi bir fikir edinmek için kullanabileceğiniz ipuçları sayfasında güzel bir rehber yazdı .
Emigna


16

CJam , 38 bayt

" ""Programming Puzzles""Dpef!Hpmg":(?

Çevrimiçi deneyin! veya boşluk kaldırılmış olarak

açıklama

" "                    e# Push this string.
"Programming Puzzles"  e# Push "Programming Puzzles".
"Dpef!Hpmg":(          e# Push "Dpef!Hpmg" and decrement each char, giving "Code Golf".
?                      e# If the first string is true (non-empty) return the second string,
                       e#   else return the third.

Boşlukların programda olup olmadığı, ilk dizginin truthy veya falsy olup olmadığını belirler.


27
Kodunuz üzgün:(
Roman Gräf

14
Yazdırılamayan kullanmak istiyorsanız, "Bncd\x19Fnke":)yerine mutlu kodu (yerine \x19).
Outgolfer Erik,

15

Jöle , 18 bayt

“½ċṭ6Ỵ»ḷ
“Ñ1ɦ+£)G»

Çevrimiçi deneyin!

açıklama

Programda yazıldığı gibi, ilk satır hiç çalışmayan bir yardımcı fonksiyondur. İkinci satır (programın sonuncusu) ana programdır ve dizenin sıkıştırılmış gösterimidir "Programming Puzzles"(daha sonra dolaylı olarak basılır).

Newline'ı kaldırırsanız, her şey büyük bir program haline gelir. “½ċṭ6Ỵ»dize sıkıştırılmış gösterimidir "Code Golf". değerlendirir, fakat sağ argümanını göz ardı eder, eskisi gibi aynı değeri bırakır; işlevleri yan etkileri için değerlendirmek için kullanılabilir (şimdiye kadar yaptığım bir şey), ancak burada olduğu gibi, kodu etkin bir şekilde yorumlamak için de kullanılabilir.

İlginçtir ki, buradaki gerçek mantık 05AB1E girişinden daha kısadır, fakat bir bütün olarak kod daha uzun çıkmaktadır, çünkü string kompresör bu özel dizgelerin sıkıştırılmasında daha az iyidir.


Bu geçerli olduğu ortaya çıkıyor.
Outgolfer Erik,

Bildiğim kadarıyla, bu karakterlerden bazıları iyi bilinen kodlamalar varsayılarak bir bayt kullanılarak kaydedilebilir. UTF-8’de 36 bayt alıyorum ... Yanlış mıyım?
steffen

@ steffen: Jelly, kullandığı 256 farklı karakterin hepsinin tek bir baytta saklanabildiği kendi karakter kodlamasını kullanır. (Önceden varolan bir kodlama kullanmak yerine bunu yapmasının tek nedeni okunabilirliktir (!); Kod sayfası 437'de kodlanan programı önemsiz bir şekilde yazabiliyordunuz, ve bu kod genellikle Jelly yorumlayıcısında çalışacaktı, ancak tipik olarak okumak çok daha zor.)

13

Jöle , 17 bayt

“Ñ1ɦ+£)G“½ċṭ6 Ỵ»Ṃ

Çevrimiçi deneyin!

Nasıl çalışır

Diğer Jelly yanıtında olduğu gibi, Ñ1ɦ+£)Gve ½ċṭ6Ỵdizeleri kodlamak Bulmacalar Programlama ve Kod Golf . bir dize değişmezini başlatır ve dize biçimini diğeriyle ayırır, aynı zamanda »değişmez türünü (sözlük tabanlı sıkıştırma) seçer,

["Programming Puzzles", "Code Golf"]

daha sonra minimum miktarda Code Golf kazanır .

Bununla birlikte ½ċṭ6ve arasına boşluk ekleyerek , tamamen farklı bir ikinci dize elde ediyoruz ve değişmez

["Programming Puzzles", "caird coinheringaahing"]

Yana Caird coinheringaahing daha sözlük sırasında büyüktür Bulmacalar Programlama , yerine ilk dizeyi seçer.


Aynısını yaptım“½ċṭ6Ỵ“Ñ1ɦ +£)G»Ṁ
Jonathan Allan

Bildiğim kadarıyla, bu karakterlerin hiçbiri iyi bilinen kodlamalar varsayılarak, bir bayt kullanılarak kaydedilemez. UTF-8'de 34 bayt alıyorum ... Yanlış mıyım?
steffen

@steffen Jelly, her bir tek bayt olarak anladığı 256 karakterin her birini kodlayan özel bir kod sayfası kullanır .
Dennis,

@Dennis netleştirdiğiniz için teşekkür ederiz.
steffen

13

Javascript, 46 43 42 Bayt

x=>" "?"Programming Puzzles":"Code\40Golf"

console.log((x=>" "?"Programming Puzzles":"Code\40Golf")())
console.log((x=>""?"ProgrammingPuzzles":"Code\40Golf")())


5
\x20İlk dizgede boşluk bırakarak değiştirebilirsiniz .
Shaggy,

Beni yendi, güzel bitti. Bunun bir ize ihtiyacı var mı ;?
ricdesi

@ ricdesi hayır, değil.

3
@ ricdesi bu kod kodlu olduğundan, program çalışıyorsa çalışır. ;bazen JavaScript'te gerekli olmayabilir.
Stephen

2
Bir bayt kaydetmek için \x20ile değiştirebilirsiniz \40:-)
ETHproductions

10

Wolfram dili, 62 bayt

"Programming Puzzles"[ToExpression@"\"Code\\.20Golf\""][[0 1]]

İçindeki alan [[0 1]]örtük çarpmadır, yani bu eşdeğerdir [[0]]. Boşluk olmadan 01, sadece 1. Bu ifadenin 0 ve 1'inci bölümleri istediğimiz dizelerdir.

Şüpheli geçerliliği olan başka bir çözüm (44 bayt, 2 Kelly Lowder tarafından kaydedilmiştir):

"Programming Puzzles"["Code\.20Golf"][[0 1]]

\.20Bir Mathematica ortamına yazılan derhal zaman bir boşluk ile değiştirilir, bu nedenle diğer alanlarda birlikte kaldırılır alırsa açık değil alır ...


1
Bunu Mathematica'ya yapıştırdığınızda (ya da yazdığınızda), (bulut tabanlı ya da değil) kaçış dizisi \:0020bir boşluğa dönüşür ve bu nedenle kaldırılır, bu yüzden bunun uygun olduğundan emin değilim. Ayrıca \.20iki karakterden kısa. "Programming Puzzles"["Code"<>FromCharacterCode@32<>"Golf"][[01]]çalışacak.
Kelly Lowder

1
@KellyLowder, hmm, bu iyi bir nokta. Bu sorundan kaçınması gereken başka bir çözüm ekledim. ( \.20Öneri için teşekkürler - bunu nasıl buldunuz? Tüm belgeyi taradığımı düşündüm…)
Bir ağaç değil

1
\.20Bir yazım hatası yaparak buldum . Sadece iki basamaklı karakter kodları için çalışıyor gibi görünüyor. Belgelerde olduğunu sanmıyorum.
Kelly Lowder

8

Excel - 56 Bayt

=IF(""=" ","Code"&CHAR(32)&"Golf","Programming Puzzles")

Diğer cevapların çoğuna çok benzer ... burada süslü bir şey yok.


8

Haskell, 48 bayt

a _="Programming Puzzles";a4="Code\32Golf";f=a 4
a_="ProgrammingPuzzles";a4="Code\32Golf";f=a4

İlgili fdizgeyi döndüren işlevi tanımlar .

Başvuru için eski sürüm:

Haskell, 49/47 bayt

f""="Code\32Golf";f(_)="Programming Puzzles";f" "

boşluk kaldırılmış olarak

f""="Code\32Golf";f(_)="ProgrammingPuzzles";f""

İki basit kalıp eşleşir. (_)tüm kalıplarla eşleşir. İkinci deseni f" "=/ olarak tanımlayarak boşluksuz sürümü bir bayt geliştirebilirsiniz f""=, ancak bu "Desen eşleşmesi gereksizdir" uyarısı verir.

Aynı bayt sayısına sahip alternatif çözüm:

last$"Code\32Golf":["Programming Puzzles"|" ">""]
last$"Code\32Golf":["ProgrammingPuzzles"|"">""]

7

Ohm , 33 32 bayt

CP437 kodlamasını kullanır.

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀
▀4>~H├MS░l╬δ

Çevrimiçi deneyin! veya boşluk bırakmadan dene

açıklama

Boşluk ile:

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀    Push "Programming Puzzles" (compressed string)
                       Implicitly output the top stack element


▀4>~H├MS░l╬δ           Helper wire (never called)

Boşluk olmadan:

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀▀4>~H├MS░l╬δ    Main wire

▀Bn¬i≈╣Ü╝Rb╡°╧S½uÇ▀                Push "Programming Puzzles" (compressed string)
                   ▀4>~H├MS░l╬δ    Push "Code Golf" (compressed string)
                                   Implicitly output top stack element

Sonunda string sıkıştırma işlemini tamamladığım için çok mutluyum!
Nick Clifford

1
@NickClifford Fark ettiğim meraklı şey Code Golf, sıkıştırıldığında daha uzun sürdü . Sanırım bu başkentler yüzünden mi? Her iki durumda da normal yazmadan hala daha kısa, çünkü burada edebi bir boşluk kullanamıyorum.
Business Cat,

Evet, Smaz böyle garip.
Nick Clifford

Bilginize, Ohm için herhangi bir sorunuz veya özellik isteğiniz varsa, beni sohbete sokmaktan çekinmeyin.
Nick Clifford

7

Japt , 29 bayt

Boşluk ile:

`Co¸{S}Golf`r `PžgŸmÚÁ Puzz¤s

Çevrimiçi deneyin!

Boşluksuz:

`Co¸{S}Golf`r`PžgŸmÚÁPuzz¤s

Çevrimiçi deneyin!


Bu, Japt'da bir boşluğun bir yöntem çağrısını kapatması gerçeğinden faydalanır. Boşluklarla, kod bu JavaScript koduna kabaca eşittir:

("Code"+(S)+"Golf").r(),"Programming Puzzles"

Bu, JavaScript olarak değerlendirilir ve sonuç STDOUT'a gönderilir. Son ifade olduğundan "Programming Puzzles", bu dize yazdırılır.

Boşluksuz, kod aşağıdakine eşdeğerdir:

("Code"+(S)+"Golf").r("ProgrammingPuzzles")

(Şimdiye dek çözemediyseniz, Sdeğişken tek bir boşluktur.) .r()Bir dize üzerindeki yöntem, eğer bir argüman verildiyse o argümanın tüm örneklerini dizeden kaldırır. Yana "Code Golf"içermez "ProgrammingPuzzles", döndürür "Code Golf"sonra STDOUT gönderildiği değişmeden.


Yenisini kullanmayı bile düşünmedim. Güzel!
Tom,

Bildiğim kadarıyla, bu karakterlerden bazıları iyi bilinen kodlamalar varsayılarak bir bayt kullanılarak kaydedilebilir. UTF-8’de 36 bayt alıyorum ... Yanlış mıyım?
steffen

@steffen Japt, her bir karakterin bir byte'ı temsil ettiği ISO-8859-1 kodlamasını kullanır. Ancak bazı karakterler bu programda yazdırılamaz olur, bu yüzden burada Windows-1252 kodlamasını kullandım (aslında, TIO tarafından otomatik olarak
üretildi

6

Brachylog , 44 bayt

" "Ṣ∧"Programming Puzzles"w|"Code"wṢw"Golf"w

Çevrimiçi deneyin!

açıklama

" "Ṣ                                           If " " = Ṣ (which is itself " ")
    ∧"Programming Puzzles"w                    Write "Programming Puzzles"
                           |                   Else
                            "Code"w            Write "Code"
                                   Ṣw          Write " "
                                     "Golf"w   Write "Golf"

1
44'ü &nbsp;
geçip

@HyperNeutrino Bu çarpı değil, 44 boşlukla uzunluk ve 42 olmadan.
17'de

Ah. Whoops. Eh, çok benzer, bu yüzden düzenlemeye girerek markdown bakmadan söyleyemem. Aldırma: P
HyperNeutrino 28:17

5

Alice , 44 bayt

/"floG!"t"edoC"#
 /"selzzuP gnimmargorP"d&o@

Çevrimiçi deneyin!

Boşluk olmadan:

/"floG!"t"edoC"#/"selzzuPgnimmargorP"d&o@

Çevrimiçi deneyin!

açıklama

İlk programda, iki ayna /komut göstergesini ikinci satıra yönlendirir. "selzzuP gnimmargorP"Gerekli kod noktalarını ters sırada diter, yığın derinliğini iter ve &oo kadar bayt yazdırır. @programı sonlandırır.

Boşluk olmadan, programın tümü tek bir satırdadır. Bu durumda, komut göstericisi Sıralı modda hareket edemez, bu nedenle /etkin bir şekilde çalışmayan duruma gelir (teknik olarak IP yalnızca bir adım hareket etmez, aynı işlem /tekrar yürütülür ve IP, Kardinal moda geri döner) ). Yani, bunları programdan çıkarırsak, şöyle görünür:

"floG!"t"edoC"#"selzzuPgnimmargorP"d&o@

Boşluk eklemek için Code Golf, bunun yerine bir ünlem işareti kullanıyoruz ve onu düşürüyoruz t. Yığındaki tüm kod noktalarını aldıktan sonra #, ikinci dizenin tamamı olan bir sonraki komutu atlar. d&osonra yığını tekrar yazdırır @ve programı sonlandırır.


Bu golf gerekir (44 çarpı 44 olan)
MilkyWay90

5

PHP, 44 Bayt

üçlü operatör

<?=" "?"Programming Puzzles":"Code\x20Golf";

PHP, 51 Bayt

yorum Yap

<?=/** /"Code\x20Golf"/*/"Programming Puzzles"/**/;

PHP, 57 Bayt

dizi anahtarı

<?=["Code\x20Golf","Programming Puzzles"][(ord("
")/10)];

5

Ortak Lisp (SBCL), 52 bayt

(format`,t"~[Programming Puzzles~;Code~@TGolf~]"0 1)

Baskılar Programming Puzzles

(format`,t"~[ProgrammingPuzzles~;Code~@TGolf~]"01)

Baskılar Code Golf

Ungolfed:

(format t "~[Programming Puzzles~;Code Golf~]" 0 1)

Açıklama:

Püf noktası temel #'formatolarak Common Lisp'te nasıl çalıştığından geliyor .

CL'de, belirteçlerin nerede başladığı veya bittiği konusunda belirsizlik olmaması koşuluyla çoğu boşluk atlanabilir. İlk numara formatve tsembolleri ayırmaktı . formatNasıl tyorumlandığını değiştirmeden sembolü açıkça sonlandırmam gerekiyordu . Neyse ki, CL'de işlemden önce önceki tokeni sonlandırır ve ,`(` etkisini iptal eder, ardından bir sonraki ifadenin "kote" edildiği, ancak bir ön ek ile ifade edilen herhangi bir alt ifadenin ,değerlendirildiği ve şablonda yer alan sonuç, yani `neredeyse hiçbir işlem değil.

Üçüncü argüman formatşablon dizesidir. formatC'deki printf'e benzer, ancak çok daha güçlü biçimlendirme yönergelerine sahiptir ve% yerine bunları belirtmek için ~ kullanın. ~ [ve ~], yazdırma için çoklu seçenekler arasında seçim yapmanızı sağlar; onları ayırmak. Yazdırmak istediğiniz sayısal dizini biçimlendirmek için ek bir argüman sağlanmıştır. Code Golf'teki "" 'nin hayatta kalmasını sağlamak için, genellikle metni sütunlara hizalamak için boşluk eklemek için kullanılan tablolama direktifini ~ T kullandım. ~ @ T, yalnızca 1'e ayarlanan, belirli sayıda boşluk ekleyen bir varyasyondur.

Son olarak, 0 ve 1 formatlarında iki argüman vardır. Boşluk kaldırılmadan önce, 0 "[Programlama Bulmacaları" nı seçmek için ~ [~; ~] tarafından kullanılır ve ekstra format argümanı (1) bırakılır (Ben standart bırakma ekstra format argümanlarının ne kadar olduğundan emin değiller, ancak bu, Steel Bank Common Lisp'te çalışıyor. Boşluk kaldırıldıktan sonra, bunun yerine "Code Golf" u seçen yalnızca bir argüman (01) vardır.


1
+1, yalnızca bir şey: "ancak, a ile ön ,eklenmiş herhangi bir alt ifade ," ,@Ekleme için gerekli değil mi? "Şeklinde değerlendirilir ve eklenir.
PrzemysławP

"eklenmiş" kuşkusuz bunun için kötü bir terimdir. Teknik olarak, bir ,sonraki ifadeyi geliştirir ve ,@ifadenin bir listeye değerlendirileceğini varsayar ve bu listenin içeriğini doğrudan şablona dahil edeceğini varsayar , sonucu şablona dahil eder. Geleneksel olarak lisp topluluğunda ,@"ekleme" olarak adlandırılır, ancak bunun en açık seçenek olduğundan emin değilim. Onu biraz yeniden değerlendirmeye çalışacağım.
djeis,


4

C # 88 81 70 63 bayt

Func<string>@a=()=>" "==""?"Code\x20Golf":"Programming Puzzles";

Boşluk ile elimden:

Func<string>@a=()=>""==""?"Code\x20Golf":"ProgrammingPuzzles";

Bir yöntem geri dönüş türü ile yöntem adı, 7 18 bayt tasarruf için PeterTaylor ve 7 bayt tasarruf için Patrick Huizinga arasında nasıl boşluk kalmayacağını gösterdiği için teşekkür ederim .

Aynı yöntem gerçekten herkes gibi, teknik olarak bu yöntem yöntem için bir dönüş türünü belirtmek olmadığından geçersiz kabul edilir, ama orada olabilir sahiptir dönüş tipi ve yöntem adı arasındaki boşluk olması.


1
işlev ismini bir önek ile ekleyebilirsiniz @, o zaman void@a..."dönüş türü yok" derleme hatasını (bayt ekler: olsa da) ()
Brian J

.Length<1bir bayt kaydeder; \u0020doğru saydıysam altı kazandırır; ve üst düzey bir işlev yerine bir lambda göndererek geçerli bir cevap verebilir (ve aynı anda birkaç bayttan tasarruf edebilirsiniz). Func<string>a=()=>...
Peter Taylor

@ Brian J Hmm, bunu bilmiyordu, neden derleyici bakış açısından işe yaradığını merak ediyorum. Her neyse, bayt kaybedebilir, ancak teknik olarak da bu cevabı rakipsiz yapmaz, bu yüzden buna değer. Teşekkürler!
Skidsdev

@Mayube @öncelikle değişken ismi olarak ayrılmış bir kelime kullanmanız gerekiyorsa kullanılır (eşdeğeri VB.NET'te [](ve MS SQL Server'da)).
Brian J

1
Evet, dizgiyi döndürmeyi gerektirir; ama =>bunun yerine kullanırsanız returnherhangi bir yere ihtiyacınız olmaz. (Kullansanız bile returnyapabilirsiniz return(...)).
Peter Taylor,

4

Java 8, 74 50 48 bayt

()=>" "==""?"Code\040Golf":"Programming Puzzles"

@NonlinearFruit haklısın, bunu yetkin olmayan
Khaled.K

1
Basmanın bir zorunluluk olduğunu sanmıyorum, bu yüzden ipi geri verebilirsiniz. Test etmedim ama ==operatör de çalışmalı,()=>""==""?"Code\u00A0Golf":"Programming Puzzles"
NonlinearFruit

1
\u00A0-> \0402 baytlık tasarruf için.
Poke





3

dc , 50

[pq]sm[Programming Puzzles]dZ19=m[Code]n32P[Golf]p

Çevrimiçi deneyin .

[ ]Bir dize tanımlar - Zuzunluğunu ölçer. Uzunluk 19 ise, bir boşluk içerir ve m kayıt defterinde saklanan makro çağırılır, bu da yazdırır Programming Puzzlesve çıkar. Aksi takdirde Code Golfyazdırılır.


DC tercümana / docs / github ile bağlantı kurar mısın?
programmer5000

@ programmer5000 TIO'da sadece dc'yi seçin, ardından dil adını tıklayın.
Dennis,

@Dennis teşekkürler, TIO'nun bile yaptığını bilmiyordum!
programcı5000

3

> <> , 47 45 bayt

! v"floG!"1-"edoC"!
o<>"selzzuP gnimmargorP">

Çevrimiçi deneyin!

-2 için randomra sayesinde (zeki iki !saniye, sadece bir tanesini kullanabilirim >o<.)

Kod "Flog! Flog! Flog!" Diye bağırıyor. ve bir balık andırıyor.


3

T-SQL, 96 82 81 67 bayt

print+iif(len(' x')=2,'Programming Puzzles','Code'+char(32)+'Golf')

Çevrimiçi deneyin | Boşluksuz

Eski versiyon (96 bayt):

select(case'x'when(replace(' ',' ','x'))then'Programming Puzzles'else'Code'+nchar(32)+'Golf'end)

İyi iş iif(len(' x')=2
çıkardın

@BradC Kapatın, ancak dış paren daha sonra boşluk bırakılmasını önler print. Bunun +yerine kullandım ve işe yaradı.
mbomb007

Yanlış olanı yapıştırmış ve saymış olmalı. Ben de bilmiyordum, ama artı ilk denediğim karakterdi ve işe yaradı.
mbomb007

3

Perl 5 , 43 41 bayt

say" "?"Programming Puzzles":Code.$".Golf

Çevrimiçi deneyin!

' 'Perl'de doğru olan ve ''yanlış olan gerçeği kullanır . $"Değişken varsayılan olarak bir boşluk ayarlanır.

İki byte'ı kaldırmak için @NahuelFouilleul 'e teşekkürler.


belki geç ama "Code$\"Golf"daha kısa ve Code.$".Golfçok
Nahuel Fouilleul

@NahuelFouilleul Evet, bu cevabı yazdığımda bayağı yeniydim. Yine de teşekkürler!
Chris


2

Befunge , 76 bayt

" "0`#v_"floG"84*"edoC",,,,,,,,,@
,,,,,@>"selzzuP gnimmargorP",,,,,,,,,,,,,,

Çevrimiçi deneyin!

En kompakt çözüm değil, ancak daha sonra beyaz boşluk olmadan Befunge kodu tekrar yazmak oldukça zor.

En başında, boşluk karakterini 0 ile karşılaştırır. Eğer daha büyükse, en alt satırda olur. Değilse, boş olanı hiçbir şeyle değiştirdiğinizde olan şey, ilk satırda kalır.


Ne mi ,lar do?
programmer5000

@ programmer5000 Her biri bir karakter yazdırır.
Martin Ender

0'a ulaşana kadar çok sayıda karakter basmak için bir ipucu, >:#,_sizi çok fazla bayt kurtaracaktır
MildlyMilquetoast
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.